Installer des modèles Machine Learning préformés sur SQL Server
S’applique à : SQL Server 2016 (13.x), SQL Server 2017 (14.x) et SQL Server 2019 (15.x)
Cet article s’applique à SQL Server 2016 (13.x), SQL Server 2017 (14.x) et SQL Server 2019 (15.x).
Cet article explique comment utiliser PowerShell pour ajouter des modèles Machine Learning préformés gratuits pour l’analyse des sentiments et la génération de fonctionnalités d’images à une instance SQL Server avec l’intégration R ou Python. Les modèles préformés sont générés par Microsoft et prêts à être utilisés. Ils sont d’ailleurs ajoutés à une instance suite à l’installation. Pour plus d’informations sur ces modèles, consultez la section Ressources de cet article.
À compter de SQL Server 2022 (16.x), les runtimes pour R, Python et Java ne sont plus installés avec le programme d’installation de SQL. Au lieu de cela, installez les runtimes et les packages personnalisés R et/ou Python souhaités. Pour plus d’informations, consultez Installer SQL Server 2022 Machine Learning Services (Python et R) sur Windows.
Une fois installés, les modèles préformés sont considérés comme des détails d’implémentation qui alimentent des fonctions spécifiques dans les bibliothèques MicrosoftML (R) et microsoftml (Python). Vous ne devez pas (et ne pouvez pas) afficher, personnaliser ou reformer les modèles. Vous ne pouvez pas non plus les traiter en tant que ressource indépendante dans du code personnalisé ou dans d’autres fonctions couplées.
Pour utiliser les modèles préformés, appelez les fonctions indiquées dans le tableau suivant.
Fonction R (MicrosoftML) | Fonction Python (MicrosoftML) | Usage |
---|---|---|
getSentiment | get_sentiment | Génère un score de sentiment positif-négatif sur les entrées de texte. |
featurizeImage | featurize_image | Extrait des informations de texte à partir des entrées du fichier image. |
Prérequis
Les algorithmes d’apprentissage automatique nécessitent beaucoup de ressources de calcul. Nous vous recommandons 16 Go de RAM pour les charges de travail de taille petite à modérée, y compris l’exécution des procédures pas à pas du tutoriel à l’aide de tous les exemples de données.
Vous devez disposer de droits d’administrateur sur l’ordinateur et SQL Server pour ajouter des modèles préformés.
Les scripts externes doivent être activés, et le service SQL Server LaunchPad doit être en cours d’exécution. Les instructions d’installation fournissent les étapes nécessaires à l’activation et à la vérification de ces fonctionnalités.
Téléchargez et installez la dernière mise à jour cumulative pour votre version de SQL Server. Consultez les Dernières mises à jour pour Microsoft SQL Server.
Le package MicrosoftML R ou le package MicrosoftML Python contiennent les modèles préformés.
SQL Server Machine Learning Services contient les deux versions de langage de la bibliothèque Machine Learning ; cette condition préalable est donc remplie sans aucune autre action de votre part. Étant donné que les bibliothèques sont présentes, vous pouvez utiliser le script PowerShell décrit dans cet article pour ajouter les modèles préformés à ces bibliothèques.
Le package MicrosoftML R contient les modèles préformés.
SQL Server R Services, qui est R uniquement, n’inclut pas le package MicrosoftML prêt à l’emploi. Pour ajouter MicrosoftML, vous devez effectuer une mise à niveau du composant. L’un des avantages de la mise à niveau des composants est que vous pouvez ajouter simultanément les modèles préformés, ce qui rend l’exécution du script PowerShell inutile. Toutefois, si vous avez déjà effectué la mise à niveau, mais que vous avez omis d’ajouter les modèles préformés, vous pouvez exécuter le script PowerShell comme décrit dans cet article. Il fonctionne pour les deux versions de SQL Server. Avant cela, vérifiez que la bibliothèque MicrosoftML existe dans C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\R_SERVICES\library
.
Vérifier si des modèles préformés sont installés
Les chemins d’installation des modèles R et Python sont les suivants :
Pour R :
C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\R_SERVICES\library\MicrosoftML\mxLibs\x64
Pour Python :
C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\PYTHON_SERVICES\Lib\site-packages\microsoftml\mxLibs
Les noms de fichiers de modèles se trouvent dans la liste suivante :
AlexNet_Updated.model
ImageNet1K_mean.xml
pretrained.model
ResNet_101_Updated.model
ResNet_18_Updated.model
ResNet_50_Updated.model
Si les modèles sont déjà installés, passez directement à l’étape de validation pour confirmer la disponibilité.
Télécharger le script d’installation
Consultez https://aka.ms/mlm4sql pour télécharger le fichier Install-MLModels.ps1. Sur la page GitHub, sélectionnez Télécharger le fichier brut.
Exécuter avec des privilèges élevés
Démarrez PowerShell. Dans la barre des tâches, cliquez avec le bouton droit sur l’icône de programme PowerShell, puis sélectionnez Exécuter en tant qu’administrateur.
La stratégie d’exécution recommandée lors de l’installation est « RemoteSigned ». Pour plus d’informations sur la définition de la stratégie d’exécution de PowerShell, consultez Set-ExecutionPolicy. Par exemple :
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Saisissez un chemin d’accès complet au fichier script d’installation et incluez le nom de l’instance. En partant du principe que vous utilisez le dossier Téléchargements et une instance par défaut, la commande peut ressembler à ce qui suit :
PS C:\WINDOWS\system32> C:\Users\<user-name>\Downloads\Install-MLModels.ps1 MSSQLSERVER
Sortie
Sur une instance par défaut SQL Server Machine Learning Services connectée à Internet avec R et Python, vous devez voir des messages identiques à ce qui suit.
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>
Vérifier l'installation
Tout d’abord, recherchez les nouveaux fichiers dans le dossier mxlibs. Ensuite, exécutez le code de démonstration pour confirmer que les modèles sont installés et fonctionnels.
Étapes de vérification pour R
Démarrez RGUI.EXE dans
C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\R_SERVICES\bin\x64
.Collez le script R suivant à l’invite de commandes.
# 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
Appuyez sur Entrée pour afficher les scores de sentiment. La sortie doit ressembler à ce qui suit :
> 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
Étapes de vérification pour Python
Démarrez Python.exe dans
C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\PYTHON_SERVICES
.Collez le script Python suivant à l’invite de commandes.
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)
Appuyez sur Entrée pour imprimer les scores. La sortie doit ressembler à ce qui suit :
>>> 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 >>>
Notes
Si les scripts de démonstration échouent, vérifiez d’abord l’emplacement du fichier. Sur les systèmes dotés de plusieurs instances de SQL Server, ou pour les instances qui s’exécutent côte à côte avec des versions autonomes, il est possible que le script d’installation ne lise pas correctement l’environnement et place les fichiers au mauvais emplacement. En général, la copie manuelle des fichiers dans le dossier mxlib approprié résout le problème.
Exemples utilisant des modèles préformés
Le lien suivant inclut un exemple de code appelant les modèles préformés.
Recherche et ressources
Actuellement, les modèles qui sont disponibles sont les modèles de réseau neuronal profond pour l’analyse des sentiments et la classification des images. Tous les modèles préformés ont été formés à l’aide du Microsoft Computation Network Toolkit (CNTK).
La configuration de chaque réseau reposait sur les implémentations de référence suivantes :
ResNet-18
ResNet-50
ResNet-101
AlexNet
Pour plus d’informations sur les algorithmes utilisés dans ces modèles Deep Learning et sur la façon dont ils sont implémentés et formés à l’aide de CNTK, consultez les articles suivants :
Microsoft Researchers’ Algorithm Sets ImageNet Challenge Milestone (L’algorithme des chercheurs de Microsoft établit le jalon du challenge ImageNet)
Microsoft Computational Network Toolkit offers most efficient distributed deep learning computational performance (Microsoft Computational Network Toolkit offre des performances de calcul Deep Learning distribuées optimisées)
Contenu connexe
- Services de Machine Learning SQL Server
- Mettre à niveau les composants Machine Learning (R et Python) dans les instances de SQL Server
- MicrosoftML package for R (Package MicrosoftML pour R)
- microsoftml package for Python (Package microsoftml pour Python)