Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
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 aprendizagem automática pré-treinados gratuitos para análise de sentimento e caracterização de imagens a uma instância SQL Server com integração com R ou Python. Os modelos pré-treinados são criados pela Microsoft e prontos para uso, adicionados a uma instância como uma tarefa pós-instalação. Para mais informações sobre estes modelos, consulte a secção de Recursos deste artigo.
A partir do SQL Server 2022 (16.x), os tempos de execução para R, Python e Java não são mais instalados com a Instalação do SQL. Em vez disso, instale os tempos de execução e pacotes personalizados R e/ou Python desejados. Para obter mais informações, consulte Instalar os Serviços de Aprendizado de Máquina do SQL Server 2022 (Python e R) no Windows.
Uma vez instalados, os modelos pré-treinados são considerados um detalhe de implementação que alimenta funções específicas nas bibliotecas MicrosoftML (R) e microsoftml (Python). Você não deve (e não pode) visualizar, personalizar ou treinar novamente os modelos, nem pode tratá-los como um recurso independente em código personalizado ou outras funções emparelhadas.
Para usar os modelos pré-treinados, chame as funções listadas na tabela a seguir.
| Função R (MicrosoftML) | Função Python (microsoftml) | Usage |
|---|---|---|
| getSentiment | get_sentiment | Gera pontuação de sentimento positivo-negativo sobre entradas de texto. |
| featurizeImage | featurize_image | Extrai informações de texto de entradas de arquivo de imagem. |
Prerequisites
Os algoritmos de aprendizado de máquina são intensivos em termos computacionais. 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 devem estar habilitados e o serviço SQL Server LaunchPad deve estar em execução. As instruções de instalação fornecem as etapas para habilitar e verificar esses recursos.
Transfira e instale a atualização cumulativa mais recente para a sua versão do SQL Server. Consulte as atualizações mais recentes para o Microsoft SQL Server.
O pacote MicrosoftML R ou o pacote Microsoftml Python contêm os modelos pré-treinados.
Os Serviços de Aprendizado de Máquina do SQL Server incluem ambas as versões de idioma da biblioteca de aprendizado de máquina, portanto, esse pré-requisito é atendido sem nenhuma ação adicional de sua parte. Como 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 R contém os modelos pré-treinados.
O SQL Server R Services, que é apenas R, não inclui o pacote MicrosoftML pronto para uso. Para adicionar MicrosoftML, é necessário fazer uma atualização de componentes. Uma vantagem da atualização do componente é que você pode adicionar simultaneamente os modelos pré-treinados, o que torna a execução do script do PowerShell desnecessária. No entanto, se você já atualizou, mas perdeu a adição dos modelos pré-treinados na primeira vez, poderá executar o script do PowerShell conforme descrito neste artigo. Ele funciona para ambas as versões do SQL Server. Antes de o fazer, confirme se a biblioteca MicrosoftML existe em C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\R_SERVICES\library.
Verifique se os modelos pré-treinados estão instalados
Os caminhos de instalação para modelos R e Python são os seguintes:
Para R:
C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\R_SERVICES\library\MicrosoftML\mxLibs\x64Para Python:
C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\PYTHON_SERVICES\Lib\site-packages\microsoftml\mxLibs
Os nomes de arquivo de modelo estão na lista a seguir:
AlexNet_Updated.modelImageNet1K_mean.xmlpretrained.modelResNet_101_Updated.modelResNet_18_Updated.modelResNet_50_Updated.model
Se os modelos já estiverem instalados, avance para a etapa de validação para confirmar a disponibilidade.
Baixe o script de instalação
Visite https://aka.ms/mlm4sql para descarregar o ficheiro Install-MLModels.ps1. Na página GitHub, selecione Baixar arquivo bruto.
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, consulte Set-ExecutionPolicy. Por exemplo:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUserInsira um caminho totalmente qualificado para o arquivo de script de instalação e inclua o nome da instância. Supondo a pasta Downloads e uma instância padrão, o comando pode ter esta aparência:
PS C:\WINDOWS\system32> C:\Users\<user-name>\Downloads\Install-MLModels.ps1 MSSQLSERVER
Output
Em uma instância padrão do SQL Server Machine Learning Services conectada à Internet com R e Python, você 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>
Verificar instalação
Primeiro, verifica os novos ficheiros na pasta mxlibs. Em seguida, execute o código de demonstração para confirmar se os modelos estão instalados e funcionais.
Etapas de verificação no R
Comece RGUI.EXE em
C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\R_SERVICES\bin\x64.Cole o seguinte script R 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 sentimentScoresPressione Enter para ver as pontuações de sentimento. A saída deve ser a seguinte:
> 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
Comece Python.exe em
C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\PYTHON_SERVICES.Cole o seguinte script Python 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 deve ser a seguinte:
>>> 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 >>>
Note
Se os scripts de demonstração falharem, verifique primeiro o local do arquivo. Em sistemas com várias instâncias do SQL Server, ou para instâncias que são executadas lado a lado com versões autônomas, é possível que o script de instalação leia incorretamente o ambiente e coloque os arquivos no local errado. Normalmente, copiar manualmente os arquivos para a pasta mxlib correta corrige o problema.
Exemplos usando modelos pré-treinados
O link a seguir inclui código de exemplo invocando os modelos pré-treinados.
Investigação e recursos
Atualmente, os modelos disponíveis são modelos de redes neurais profundas (DNN) para análise de sentimento e classificação de imagens. Todos os modelos pré-treinados foram treinados usando o Computation Network Toolkit (CNTK) da Microsoft.
A configuração de cada rede baseou-se nas seguintes implementações de referência:
ResNet-18ResNet-50ResNet-101AlexNet
Para obter mais informações sobre os algoritmos usados nesses modelos de aprendizagem profunda e como eles são implementados e treinados usando CNTK, consulte estes artigos: