使用 ONNX Runtime 进行设备端训练
设备端训练
指的是在边缘设备(如手机、嵌入式设备、游戏机、Web 浏览器等)上训练模型的过程。这与在服务器或云端训练模型形成对比。设备端训练可用于
- 个性化任务,其中模型需要在用户数据上进行训练。
- 联邦学习任务,其中模型在分布在多个设备上的数据上进行本地训练,以努力构建更强大的聚合全局模型。
- 提高数据隐私和安全性,尤其是在处理无法与服务器或云共享的敏感数据时。
- 当网络连接不可靠或受限时,在本地进行训练(不影响应用程序功能)。
ONNX Runtime 训练
提供了一种在边缘设备上高效训练和推理 ONNX 模型的简便方法。训练过程分为两个阶段
离线阶段
在此阶段,训练工件在服务器、云或无法访问用户数据的桌面设备上准备。这些工件可以使用 ONNX Runtime 训练
的 工件生成 Python 工具 生成,这些工具在 Python 包中提供。
请参阅安装说明
训练阶段
一旦生成这些工件,就可以将其部署到边缘设备上的生产场景中。ONNX Runtime
在多种语言绑定中提供了各种软件包。
请参阅安装说明以获取所有语言绑定的完整列表。
一旦边缘设备上的训练完成,就可以在边缘设备本身上生成可用于推理的 ONNX 模型。然后,此模型可以与 ONNX Runtime 一起用于推理。
安装
请参阅安装说明,了解如何为您的场景安装的详细信息。
从源代码构建
请参阅构建说明,了解如何为您的自定义场景构建的详细信息。
功能请求、错误报告或需要帮助
如果您需要帮助,请打开一个 issue。