Instalar modelos de machine learning pré-treinados no SQL Server
Aplica-se a: SQL Server 2016 (13.x) SQL Server 2017 (14.x) SQL Server 2019 (15.x)
Este artigo aplica-se ao SQL Server 2016 (13.x), SQL Server 2017 (14.x) e SQL Server 2019 (15.x).
Este artigo explica como usar o PowerShell para adicionar modelos de machine learning pré-treinados gratuitos para análise de sentimento e definição de recursos de imagens a uma instância de SQL Server que tenha integração com R ou Python. Os modelos pré-treinados são criados pela Microsoft e prontos para uso, adicionados a uma instância do como uma tarefa pós-instalação. Para obter mais informações sobre esses modelos, confira a seção Recursos deste artigo.
A partir do SQL Server 2022 (16.x), os runtimes do R, do Python e do Java não são mais instalados com a Instalação do SQL. Portanto, instale os pacotes e os runtimes personalizados R e/ou Python desejados. Para obter mais informações, confira Instalar os Serviços de Machine Learning (Python e R) do SQL Server 2022 no Windows.
Depois de instalados, os modelos pré-treinados são considerados um detalhe de implementação que capacita funções específicas nas bibliotecas MicrosoftML (R) e microsoftml (Python). Você não deve (e não pode) exibir, personalizar nem treinar novamente modelos, tampouco tratá-los como um recurso independente em código personalizado ou emparelhado com outras funções.
Para usar os modelos pré-treinados, chame as funções listadas na tabela a seguir.
Função do R (MicrosoftML) | Função do Python (microsoftml) | Uso |
---|---|---|
getSentiment | get_sentiment | Gera uma pontuação de sentimentos positiva/negativa sobre entradas de texto. |
featurizeImage | featurize_image | Extrai informações de texto de entradas de arquivo de imagem. |
Pré-requisitos
Os algoritmos de aprendizado de máquina fazem uso de computação intensiva. Recomendamos 16 GB de RAM para cargas de trabalho baixas a moderadas, incluindo a conclusão das instruções passo a passo do tutorial usando todos os dados de exemplo.
Você deve ter direitos de administrador no computador e no SQL Server para adicionar modelos pré-treinados.
Os scripts externos precisam estar habilitados e o serviço SQL Server LaunchPad precisa estar em execução. As instruções de instalação fornecem as etapas para habilitar e verificar essas funcionalidades.
Baixe e instale a atualização cumulativa mais recente para sua versão do SQL Server. Confira as Atualizações mais recentes do Microsoft SQL Server.
O pacote MicrosoftML do R ou o pacote MicrosoftML do Python contém os modelos pré-treinados.
Os Serviços de Machine Learning do SQL Server incluem versões da biblioteca de aprendizado de máquina em ambas as linguagens de programação, portanto, esse pré-requisito é atendido sem que você realize nenhuma ação adicional. Já que as bibliotecas estão presentes, você pode usar o script do PowerShell descrito neste artigo para adicionar os modelos pré-treinados a essas bibliotecas.
O pacote MicrosoftML do R contém os modelos pré-treinados.
O SQL Server R Services, que é somente em R, não inclui o pacote MicrosoftML pronto para uso. Para adicionar o MicrosoftML, você precisa fazer uma atualização de componente. Uma vantagem da atualização do componente é que você pode adicionar simultaneamente os modelos pré-treinados, o que torna desnecessária a execução do script do PowerShell. No entanto, se você já fez a atualização, mas não adicionou os modelos pré-treinados na primeira vez, você ainda pode executar o script do PowerShell, conforme descrito neste artigo. Ele funciona para ambas as versões do SQL Server. Antes de fazer isso, confirme se a biblioteca MicrosoftML existe em C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\R_SERVICES\library
.
Verificar se os modelos pré-treinados estão instalados
Os caminhos de instalação dos modelos do R e do Python são os seguintes:
Para o R:
C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\R_SERVICES\library\MicrosoftML\mxLibs\x64
Para o Python:
C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\PYTHON_SERVICES\Lib\site-packages\microsoftml\mxLibs
Os nomes de arquivos de modelo estão listados abaixo:
- AlexNet_Updated.model
- ImageNet1K_mean.xml
- pretrained.model
- ResNet_101_Updated.model
- ResNet_18_Updated.model
- ResNet_50_Updated.model
Se os modelos já estiverem instalados, vá direto para a etapa de validação para confirmar a disponibilidade.
Baixar o script de instalação
Visite https://aka.ms/mlm4sql para baixar o arquivo Install-MLModels.ps1.
Executar com privilégios elevados
Inicie o PowerShell. Na barra de tarefas, clique com o botão direito do mouse no ícone do programa PowerShell e selecione Executar como administrador.
A política de execução recomendada durante a instalação é "RemoteSigned". Para obter mais informações sobre como definir a política de execução do PowerShell, confira Set-ExecutionPolicy. Por exemplo:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Insira um caminho totalmente qualificado para o arquivo de script de instalação e inclua o nome da instância. Se pressupormos a existência da pasta Downloads e de uma instância padrão, o comando teria a seguinte aparência:
PS C:\WINDOWS\system32> C:\Users\<user-name>\Downloads\Install-MLModels.ps1 MSSQLSERVER
Saída
Em uma instância padrão dos Serviços de Machine Learning do SQL Server com R e Python conectada à Internet, você deverá ver mensagens semelhantes às seguintes.
MSSQL14.MSSQLSERVER
Verifying R models [9.2.0.24]
Downloading R models [C:\Users\<user-name>\AppData\Local\Temp]
Installing R models [C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\R_SERVICES\]
Verifying Python models [9.2.0.24]
Installing Python models [C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\PYTHON_SERVICES\]
PS C:\WINDOWS\system32>
Verifique a instalação
Primeiro, verifique os novos arquivos na pasta mxlibs. Em seguida, execute o código de demonstração para confirmar se os modelos estão instalados e funcionando.
Etapas de verificação do R
Inicie o RGUI.EXE em C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\R_SERVICES\bin\x64.
Cole o script R a seguir no prompt de comando.
# Create the data CustomerReviews <- data.frame(Review = c( "I really did not like the taste of it", "It was surprisingly quite good!", "I will never ever ever go to that place again!!"), stringsAsFactors = FALSE) # Get the sentiment scores sentimentScores <- rxFeaturize(data = CustomerReviews, mlTransforms = getSentiment(vars = list(SentimentScore = "Review"))) # Let's translate the score to something more meaningful sentimentScores$PredictedRating <- ifelse(sentimentScores$SentimentScore > 0.6, "AWESOMENESS", "BLAH") # Let's look at the results sentimentScores
Pressione Enter para exibir as pontuações de sentimentos. A saída deverá ser conforme demonstrado a seguir:
> sentimentScores Review SentimentScore 1 I really did not like the taste of it 0.4617899 2 It was surprisingly quite good! 0.9601924 3 I will never ever ever go to that place again!! 0.3103435 PredictedRating 1 BLAH 2 AWESOMENESS 3 BLAH
Etapas de verificação do Python
Inicie Python.exe em C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\PYTHON_SERVICES.
Cole o script Python a seguir no prompt de comando
import numpy import pandas from microsoftml import rx_logistic_regression, rx_featurize, rx_predict, get_sentiment # Create the data customer_reviews = pandas.DataFrame(data=dict(review=[ "I really did not like the taste of it", "It was surprisingly quite good!", "I will never ever ever go to that place again!!"])) # Get the sentiment scores sentiment_scores = rx_featurize( data=customer_reviews, ml_transforms=[get_sentiment(cols=dict(scores="review"))]) # Let's translate the score to something more meaningful sentiment_scores["eval"] = sentiment_scores.scores.apply( lambda score: "AWESOMENESS" if score > 0.6 else "BLAH") print(sentiment_scores)
Pressione Enter para imprimir as pontuações. A saída deverá ser conforme demonstrado a seguir:
>>> print(sentiment_scores) review scores eval 0 I really did not like the taste of it 0.461790 BLAH 1 It was surprisingly quite good! 0.960192 AWESOMENESS 2 I will never ever ever go to that place again!! 0.310344 BLAH >>>
Observação
Se os scripts de demonstração falharem, verifique primeiro a localização do arquivo. Em sistemas com várias instâncias do SQL Server ou em instâncias que são executadas lado a lado com versões autônomas, é possível que o script de instalação faça uma leitura incorreta do ambiente e coloque os arquivos na localização errada. Normalmente, copiar os arquivos manualmente para a pasta mxlib correta corrige o problema.
Exemplos usando modelos pré-treinados
O link a seguir inclui o código de exemplo que invoca os modelos pré-treinados.
Pesquisa e recursos
Atualmente, os modelos disponíveis são modelos de DNN (rede neural profunda) para análise de sentimentos e classificação de imagem. Todos os modelos pré-treinados foram treinados usando o Microsoft CNTK (Cognitive Toolkit).
A configuração de cada rede foi baseada nas seguintes implementações de referência:
- ResNet-18
- ResNet-50
- ResNet-101
- AlexNet
Para obter mais informações sobre os algoritmos usados nesses modelos de aprendizado profundo e o modo como eles são implementados e treinados usando o CNTK, confira estes artigos:
Confira também
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de