从Windows 10 RS4更新(版本1803)开始,微软提供了系统内置的AI平台让开发者可以直接将机器学习能力集成到应用中,可以在本地离线执行预训练好的机器学习模型。
我们可以使用大量ONNX格式的机器学习模型,在Windows ML平台下利用机器学习技术在本机实现创新体验。本项目提供目前尽可能多的经过验证的模型,并且提供相应的demo和参考信息,帮助大家快速集成AI能力到项目。
同时还提供ONNX模型转换工具,可以将其他格式的模型转化为可使用ONNX格式。
- Visual Studio 2017 Version 15.7.4 or Newer
- Windows 10 - Build 17738 or higher
- Windows SDK - Build 17738 or higher
目前项目的模型种类持续扩充中, master 分支仅提供经过验证测试的模型和demo。
图像处理类模型可以根据输入的图像计算出特定的结果输出
模型名称 | 功能 | 来源 | |
---|---|---|---|
GoogleNetPlace | 识别图像的场景类型,输出205种类别,例如办公室、机场之类 | CoreML | 模型下载 Demo 参考文献 |
Inception v3 | 识别图像中的物体,输出1000种类别。前5个预测错误低至5.6% | CoreML | 模型下载 Demo 参考文献 |
ResNet50 | 识别图像中的物体,输出1000种类别。前5个预测错误低至7.8% | CoreML | 模型下载 Demo 参考文献 |
TinyYOLO | 识别出图像中多个物体,并输出类别和物体矩形边框数据,用于在图像中圈出物体,可识别物体种类为20种 | CoreML | 模型下载 Demo 参考文献 |
LocationNet | 根据图片预测拍摄地点 | CoreML | 模型下载 Demo 参考文献 |
Fast Netural Style Transfer | 图片风格转换,支持的艺术家风格有Candy, Feathers, La Muse, Mosica, Scream, Udnie. https://github.com/jcjohnson/fast-neural-style | CoreML | 模型下载 Demo 参考文献 |
ONNX是由微软、Facebook和英特尔等公司推出的一个通用开放的机器学习模型格式,Windows ML目前只能执行ONNX格式的模型。所以我们需要将其他格式的模型转换后才可以使用,项目给大家提供了一个快速转换工具ONNX Generator。
请先安装好以下工具:
- Python 3.6.x
- winmltools
- coremltools
- ONNX 1.2.2
pip install onnx
确保安装的版本是 1.2.2
pip install git+https://github.com/apple/coremltools
pip install winmltools
ONNX Generator工具位于tools目录下,直接执行onnxgenerator.py脚本即可:
python onnxgenerator.py
根据输出窗口提示,依次输入CoreML模型文件地址并回车:
现在输入模型名称,用于MLGen工具生成C#代码的模型命名
优化模型,参数转换为Float16
生成ONNX模型后,此时决定是否继续生成json格式的模型文件
生成的模型文件如下:
src目录中的demo项目中默认是 没有模型文件的,此时直接编译会报错失败。
请直接把下载后的ONNX模型文件放入项目中对应的位置即可
如果有问题可以直接在Issue中提出,或者联系我本人。
联系方式:
- E-mail: mantgh@outlook.com
- Weibo: @msp的昌伟哥哥