Machine Learning e intelligenza artificiale con ONNX in SQL Edge

Importante

SQL Edge di Azure non supporta più la piattaforma ARM64.

Machine Learning in Sql Edge di Azure supporta i modelli nel formato OPEN Neural Network Exchange (ONNX). ONNX è un formato aperto che è possibile usare per l'interscambio di modelli tra diversi framework e strumenti di Machine Learning.

Panoramica

Per dedurre modelli di Machine Learning in SQL Edge di Azure, è prima necessario ottenere un modello. Può trattarsi di un modello con training preliminare o di un modello personalizzato sottoposto a training con il framework preferito. SQL Edge di Azure supporta il formato ONNX ed è necessario convertire il modello in questo formato. Non dovrebbe esserci alcun effetto sull'accuratezza del modello e, dopo aver ottenuto il modello ONNX, è possibile distribuire il modello in SQL Edge di Azure e usare l'assegnazione dei punteggi nativa con la funzione PREDICT T-SQL.

Ottenere i modelli ONNX

Per ottenere un modello nel formato ONNX:

  • Servizi di compilazione di modelli: servizi come la funzionalità di Machine Learning automatizzata in Azure Machine Learning e il servizio Azure Visione personalizzata supportano l'esportazione diretta del modello sottoposto a training nel formato ONNX.

  • Convertire ed esportare modelli esistenti: diversi framework di training(ad esempio PyTorch, Chainer e Caffe2) supportano la funzionalità di esportazione nativa in ONNX, che consente di salvare il modello sottoposto a training in una versione specifica del formato ONNX. Per i framework che non supportano l'esportazione nativa, sono disponibili pacchetti installabili di ONNX Converter autonomi che consentono di convertire i modelli sottoposti a training da framework di Machine Learning diversi nel formato ONNX.

    Framework supportati

Limiti

Attualmente, in SQL Edge di Azure non sono supportati tutti i modelli ONNX. Il supporto è limitato ai modelli con tipi di dati numerici:

Per convertire altri tipi numerici in tipi supportati, è possibile usare CAST e CONVERT.

Gli input del modello devono essere strutturati in modo che ognuno corrisponda a una singola colonna in una tabella. Ad esempio, se si usa un dataframe pandas per eseguire il training di un modello, ogni input deve essere una colonna separata per il modello.

Passaggi successivi