将机器学习模型转换为onnx,以便在windows ml中使用
winmltools的Python项目详细描述
winmltools为windows ml提供以下工具:
模型转换
winmltools允许您从不同的计算机转换模型 在ONNX中学习工具包,以便与windows ml一起使用。 目前支持以下工具包:
- 苹果coreml
- 路缘石
- SCIKIT学习
- lightgbm
- xgboost
- libsvm
- SPARKML(实验)
- 张量流(实验)
下面是一个转换核心ml模型的简单示例:
from coremltools.models.utils import load_spec from winmltools import convert_coreml model_coreml = load_spec('example.mlmodel') model_onnx = convert_coreml(model_coreml, 7, name='ExampleModel')
训练后权重量化
winmltools提供量化工具来减少模型的内存占用。
下面是将onnx模型转换为量化onnx模型的示例:
import winmltools model = winmltools.load_model('model.onnx') quantized_model = winmltools.quantize(model, per_channel=True, nbits=8, use_dequantize_linear=True) winmltools.save_model(quantized_model, 'quantized.onnx')
依赖性
要从不同的工具包进行转换,可能需要为不同的转换器安装以下软件包:
Toolkit | Source |
---|---|
keras | https://pypi.org/project/Keras |
tensorflow | https://pypi.org/project/tensorflow |
scikit-learn | https://pypi.org/project/scikit-learn |
lightgbm | https://pypi.org/project/lightgbm |
xgboost | https://pypi.org/project/xgboost |
libsvm | You can download libsvm wheel from various web sources. One example can be found here: https://www.lfd.uci.edu/~gohlke/pythonlibs/#libsvm |
coremltools | Currenlty coreml does not distribute coreml packaging on windows. You can install from source: pip install git+https://github.com/apple/coremltools |
pyspark | https://pypi.org/project/pyspark |
有关winmltools的详细信息,可以转到Convert ML models to ONNX with WinMLTools
许可证
麻省理工学院许可证