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