SQL Edge での ONNX を使用した機械学習と AI
重要
Azure SQL Edge の提供は、2025 年 9 月 30 日に終了する予定です。 詳細な情報と移行オプションについては、提供終了に関する通知を参照してください。
Note
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 Machine Learning の自動機械学習機能や Azure Custom Vision Service などのサービスが、トレーニング済みモデルの ONNX 形式での直接のエクスポートをサポートしています。
既存モデルの変換やエクスポート:いくつかのトレーニング フレームワーク (PyTorch、Chainer、Caffe2 など) では、ONNX へのネイティブ エクスポート機能がサポートされています。これにより、ご利用のトレーニング済みモデルを特定のバージョンの ONNX 形式 で保存できます。 ネイティブ エクスポートをサポートしていないフレームワークの場合は、スタンドアロンの ONNX コンバーターのインストール可能パッケージがあるため、それらによって、トレーニング済みモデルを、さまざまな機械学習フレームワークから ONNX 形式に変換できます。
サポートされているフレームワーク
-
サポートされているフレームワークと例の完全な一覧については、「ONNX 形式への変換」を参照してください。
制限事項
現時点では、すべての ONNX モデルが Azure SQL Edge でサポートされているわけではありません。 サポートは、数値データ型を持つモデルに限定されています。
他の数値型を、サポートされている型に変換するには、CAST と CONVERT を使用します。
モデルの入力については、モデルへの各入力がテーブル内の 1 つの列に対応するように構造化する必要があります。 たとえば、pandas データフレームを使用してモデルをトレーニングする場合、各入力はモデルに対して個別の列とする必要があります。