在 SQL Edge 中将机器学习和 AI 与 ONNX 结合使用
重要
Azure SQL Edge 将于 2025 年 9 月 30 日停用。 有关详细信息和迁移选项,请参阅停用通知。
注意
Azure SQL Edge 不再支持 ARM64 平台。
Azure SQL Edge 中的机器学习支持 Open Neural Network Exchange (ONNX) 格式的模型。 ONNX 是一种开放的格式,可用于在不同的机器学习框架和工具之间交换模型。
概述
若要在 Azure SQL Edge 中推理机器学习模型,首先需要获取模型。 这可以是预训练模型,也可以是使用所选框架训练的自定义模型。 Azure SQL Edge 支持 ONNX 格式,你需要将模型转换为此格式。 这应该不会影响模型准确度,在获取 ONNX 模型后,就可以在 Azure SQL Edge 中部署模型,然后利用使用 PREDICT T-SQL 函数的本机评分。
获取 ONNX 模型
获取 ONNX 格式模型的途径:
模型生成服务:Azure 机器学习中的自动化机器学习功能等服务支持直接导出 ONNX 格式的已训练模型。
转换和/或导出现有模型:多个训练框架(例如 PyTorch、Chainer 和 Caffe2)支持对 ONNX 的本机导出功能,这样你就可以将已训练模型保存为特定版本的 ONNX 格式。 对于不支持本机导出的框架,有独立的 ONNX 转换器可安装包,可便于你将已训练的模型从不同的机器学习框架转换为 ONNX 格式。
支持的框架
-
有关支持的框架和示例的完整列表,请参阅转换为 ONNX 格式。
限制
目前,并非所有的 ONNX 模型都受到 Azure SQL Edge 的支持。 此支持仅限于具有以下数值数据类型的模型:
通过使用 CAST 和 CONVERT,可以将其他数值类型转换为支持的类型。
应对模型输入进行结构化处理,以便模型的每个输入都对应于表中的一列。 例如,如果使用 pandas 数据帧来训练模型,那么每个输入都应该是模型中的单独一列。