Aprendizado de máquina e IA com ONNX no SQL Edge
Importante
O Azure SQL Edge será desativado em 30 de setembro de 2025. Para obter mais informações e opções de migração, consulte o Aviso de aposentadoria.
Nota
O Azure SQL Edge não suporta mais a plataforma ARM64.
O aprendizado de máquina no SQL Edge do Azure dá suporte a modelos no formato ONNX (Open Neural Network Exchange). ONNX é um formato aberto que você pode usar para trocar modelos entre várias estruturas e ferramentas de aprendizado de máquina.
Descrição geral
Para inferir modelos de aprendizado de máquina no Azure SQL Edge, primeiro você precisa obter um modelo. Pode ser um modelo pré-treinado ou um modelo personalizado treinado com a estrutura de sua escolha. O Azure SQL Edge dá suporte ao formato ONNX e você precisa converter o modelo para esse formato. Não deve haver nenhum efeito na precisão do modelo e, depois de ter o modelo ONNX, você pode implantar o modelo no Azure SQL Edge e usar a pontuação nativa com a função PREDICT T-SQL.
Obtenha modelos ONNX
Para obter um modelo no formato ONNX:
Serviços de Criação de Modelo: Serviços como o recurso de Aprendizado de Máquina automatizado no Azure Machine Learning e o Serviço de Visão Personalizada do Azure oferecem suporte à exportação direta do modelo treinado no formato ONNX.
Converter e/ou exportar modelos existentes: várias estruturas de treinamento (por exemplo, PyTorch, Chainer e Caffe2) suportam a funcionalidade de exportação nativa para ONNX, o que permite salvar seu modelo treinado em uma versão específica do formato ONNX. Para estruturas que não suportam exportação nativa, existem pacotes instaláveis independentes do ONNX Converter que permitem converter modelos treinados de diferentes estruturas de aprendizado de máquina para o formato ONNX.
Estruturas suportadas
-
Para obter a lista completa de estruturas e exemplos suportados, consulte Convertendo para o formato ONNX.
Limitações
Atualmente, nem todos os modelos ONNX são suportados pelo Azure SQL Edge. O suporte é limitado a modelos com tipos de dados numéricos:
Outros tipos numéricos podem ser convertidos em tipos suportados usando CAST e CONVERT.
As entradas do modelo devem ser estruturadas de modo que cada entrada para o modelo corresponda a uma única coluna em uma tabela. Por exemplo, se você estiver usando um dataframe pandas para treinar um modelo, cada entrada deve ser uma coluna separada para o modelo.