深度学习模型格式转换器
项目描述
Deeplite模型转换器
协作是设计基于深度学习的解决方案的最大挑战之一。可以使用多种格式来表示深度学习 mdoel:PyTorch、Tensorflow、ONNX、TFLite。这个开源转换器库旨在将深度学习模型从一种格式转换为另一种格式。
使用 pip 安装
使用以下命令从我们的内部 PyPI 存储库安装包。
$ pip install --upgrade pip
$ pip install deeplite-model-converter
从源安装
$ git clone https://github.com/Deeplite/deeplite-model-converter.git
$ pip install .
以开发模式安装
$ git clone https://github.com/Deeplite/deeplite-model-converter.git
$ pip install -e .
$ pip install -r requirements-test.txt
要测试安装,可以使用pytest根文件夹中的命令运行基本测试。
注意: 目前,我们支持 Tensorflow 2.4+ 版本和 onnxruntime 1.8。我们还不支持 ONNX 的所有 OPSET 版本。
如何使用
PyTorch2ONNX
# Step 1: Define native pytorch dataloaders and model
data_splits = /* ... load iterable data loaders ... */
model = /* ... load native deep learning model ... */
# Step 2: Instantiate a converter object
pytorch2onnx = PyTorch2ONNX(model=model)
pytorch2onnx.set_config(precision='fp32', device=Device.CPU)
# Step 3: Convert the format and save
dataloader = TorchProfiler.enable_forward_pass_data_splits(data_splits)
rval = pytorch2onnx.convert(dataloader, dynamic_input='bchw', path="model.onnx")
TF2TFLite
# Step 1: Define native Tensorflow model
model_conc_functions = /* ... load TF native model as concrete functions ... */
# Step 2: Instantiate a converter object
tf2tflite = TF2TFLite(model=model_conc_functions)
# Step 3: Convert the format and save
tflite_model, rval = tf2tflite.convert()
tf2tflite.save(tflite_model, "model.tflite")
例子
运行一个例子,
pip install deeplite-torch-zoo
python examples/converters/pytorch2tflite.py
支持的转换器
到目前为止,支持以下转换器,
- pytorch2onnx
- pytorch2jit
- onnx2tf
- tf2tflite
贡献一个转换器
我们始终欢迎社区贡献以扩大范围deeplite-model-converter并增加新的转换器。一般来说,我们遵循fork-and-pullGit 工作流程。
- Fork GitHub 上的 repo
- 将项目克隆到自己的机器上
- 将更改提交到您自己的分支
- 把你的工作推回你的叉子
- 提交拉取请求,以便我们审核您的更改
注意:在发出拉取请求之前,请务必合并来自“上游”的最新版本!
项目详情
关
deeplite_model_converter -1.2.2-cp39-cp39-manylinux2010_x86_64.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 7f1fdf5034a16bf4de23da09bef65e6e50d42774c1437cedf57ca52de8dcd9ba |
|
| MD5 | 93b1231003f4a47e80a1f313dc26d981 |
|
| 布莱克2-256 | af6c6f9ffda13c8fd61851a68911c3f549a75864af39a33e735e2bcc8689efb8 |
关
deeplite_model_converter -1.2.2-cp39-cp39-manylinux1_x86_64.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | c89a60b0e021aff6a29df2438a656bc10d49e8c97173bb72948109e216236a24 |
|
| MD5 | 82dc60734d6abfd58e0825d7557e7b51 |
|
| 布莱克2-256 | 975ec05f1a3a4bc977d6700c3ee56891d9dbb6d2b8eee6175b3fe9de06515b00 |
关
deeplite_model_converter -1.2.2-cp38-cp38-manylinux2010_x86_64.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | aeca815b57bb7ca50de2b68dadbbf41bf4dc7223775ce2522c92c38a8c45cc18 |
|
| MD5 | 6f3aff5c77118f07adb14628bb84f49d |
|
| 布莱克2-256 | fd311f4557ef034b053164e3241a3ae0daa2ff0fa1cceb71a34057a920175bdf |
关
deeplite_model_converter -1.2.2-cp38-cp38-manylinux1_x86_64.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 511d3d99c801e7a576c2b52b18bafe47c29dac762b964459bca12cdb38212234 |
|
| MD5 | e90bcb8602384df9ddb8edb3d219940c |
|
| 布莱克2-256 | 7acef7d892dbafbd64a313898e886da87605d1a5781cf35f4e004788779d71bf |
关
deeplite_model_converter -1.2.2-cp37-cp37m-manylinux2010_x86_64.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 82afce94eb8916abe5be1d9669e9eb64dd74b897fdd7b10a33c436a6ef84b8b5 |
|
| MD5 | 0eec6cd76f4170c34ce42b34f5f1f3f7 |
|
| 布莱克2-256 | ac229c09b0f284f90f1246ad9cc17c7cc14a36ea0489d221b6b141fb0fb19d34 |
关
deeplite_model_converter -1.2.2-cp37-cp37m-manylinux1_x86_64.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 848868b69e86da8d6b7cb5f5db18d8df57c0ba4b2f169083e817b15b43c2c590 |
|
| MD5 | ca49f94a99ce02134abbea324ee44012 |
|
| 布莱克2-256 | dc600d508f9e53b0854c10cc25a895bf35a4c2ed74798fb2958643b88dcdd315 |
关
deeplite_model_converter -1.2.2-cp36-cp36m-manylinux2010_x86_64.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 13f52e45d1d2afd1558846fd430aa812ded726fe7f787f9e58c3eb6b21097609 |
|
| MD5 | 322863b1cc1b40847bec65c9e31a560f |
|
| 布莱克2-256 | 6ffcc07bd3bd8e094e584c46d29e8cec8d2af30ba984792a008f706f0a60d0ea |
关
deeplite_model_converter -1.2.2-cp36-cp36m-manylinux1_x86_64.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | ba51be5a56fe2a0aa969790e118c9e0d0731026d57de7f55b2516a17f41704ea |
|
| MD5 | ca5bc48a4686d61d5254c4641d280775 |
|
| 布莱克2-256 | 599e8b34ba138ee582c2ebfa73aeef956f7c7ea0dcf62794deb9923b0d10aaf7 |