onnxruntime是微软AI机器学习的代码库
支持使用训练好的onnx模型进行ai计算
其中支持
1.coreml
苹果设备(不说也罢)
2.cuda
cuda运行环境,这个速度应该是最快的,虽然理论上cuda最快,但是都安装cuda了,似乎没必要用微软这套onnxruntime
3.directml
定位类似directx,windows设备通用型gpu,无需配置环境不挑显卡。但是有些ort优化选项看显卡或驱动能力,
而且目前速度远远没有cuda快。目前微软做了个olive优化onnx提升directml速度,但是需要olive优化好的onnx资源,不是所有训练都会进行优化的,并且数据类型从float变int64(0~1=>0~255),改代码可能稍微麻烦些(不能直接copy)。总体来说不如cuda成熟,但优点是有的,潜力也是大的。
4.cpu
最慢但适用性最强,有些场景没想象中那么慢,说明优化的很不错。我的体验是stableDiffusion大概慢几倍。
-------------------
*以上需要安装对应的runtime版本,比如directml 安装onnxRunTime.directml
------------------
目前主流训练框架都支持输出onnx格式,未来可用的机器学习模型也会越来越多。即使对ai训练和py一窍不通(本人),
找到训练好的onnx模型,也可以开发ai相关的程序。
代码参考:
//stableDiffusion案例
cassiebreviu/StableDiffusion: Inference Stable Diffusion with C# and ONNX Runtime (github.com)
//语音tts案例
sandrohanea/whisper.net: Whisper.net. Speech to text made simple using Whisper Models (github.com)
//图片转漫画化 适用初学者