SQL Edge での ONNX を使用した機械学習と AI

重要

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 モデルが Azure SQL Edge でサポートされているわけではありません。 サポートは、数値データ型を持つモデルに限定されています。

他の数値型を、サポートされている型に変換するには、CAST と CONVERT を使用します。

モデルの入力については、モデルへの各入力がテーブル内の 1 つの列に対応するように構造化する必要があります。 たとえば、pandas データフレームを使用してモデルをトレーニングする場合、各入力はモデルに対して個別の列とする必要があります。

次のステップ