Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro: SQL Server 2016 (13.x)
SQL Server 2017 (14.x)
SQL Server 2019 (15.x)
Tento článek se týká SQL Serveru 2016 (13.x), SQL Serveru 2017 (14.x) a SQL Serveru 2019 (15.x).
Tento článek vysvětluje, jak pomocí PowerShellu přidat bezplatné předem natrénované modely strojového učení pro analýzu mínění a featurizaci obrázků do instance SQL Serveru s integrací jazyka R nebo Python. Předem vytrénované modely vytvořené společností Microsoft jsou připravené k použití a přidají se do instance jako úloha po instalaci. Další informace o těchto modelech najdete v části Zdroje informací v tomto článku.
Počínaje SQL Serverem 2022 (16.x) se moduly runtime pro R, Python a Java už s instalací SQL nenainstalují. Místo toho nainstalujte požadované vlastní moduly runtime a balíčky jazyka R nebo Python. Další informace najdete v tématu Instalace služby SQL Server 2022 Machine Learning Services (Python a R) ve Windows.
Po instalaci se předem natrénované modely považují za podrobnosti implementace, které využívají specifické funkce v knihovnách MicrosoftML (R) a microsoftml (Python). Modely byste neměli (a nemůžete) zobrazovat, přizpůsobovat ani znovu trénovat, ani je nemůžete považovat za nezávislý prostředek ve vlastním kódu nebo v kombinaci s jinými funkcemi.
Pokud chcete použít předem natrénované modely, volejte funkce uvedené v následující tabulce.
| Funkce R (MicrosoftML) | Funkce Pythonu (microsoftml) | Usage |
|---|---|---|
| getSentiment | get_sentiment | Generuje skóre kladného negativního mínění u textových vstupů. |
| featurizeImage | featurize_image | Extrahuje textové informace ze vstupů souboru obrázku. |
Prerequisites
Algoritmy strojového učení jsou výpočetně náročné. Pro úlohy s nízkou až střední velikostí doporučujeme 16 GB paměti RAM, včetně dokončení návodů k kurzu s využitím všech ukázkových dat.
Abyste mohli přidávat předem natrénované modely, musíte mít na počítači a SQL Serveru oprávnění správce.
Externí skripty musí být povolené a služba SQL Server LaunchPad musí být spuštěná. Pokyny k instalaci obsahují kroky pro povolení a ověření těchto funkcí.
Stáhněte a nainstalujte nejnovější kumulativní aktualizaci pro vaši verzi SQL Serveru. Podívejte se na nejnovější aktualizace pro Microsoft SQL Server.
Balíček MicrosoftML R nebo balíček MicrosoftML Python obsahují předem natrénované modely.
Služba SQL Server Machine Learning Services zahrnuje obě jazykové verze knihovny strojového učení, takže tento požadavek není splněný bez další akce na vaší straně. Vzhledem k tomu, že jsou knihovny k dispozici, můžete k přidání předem natrénovaných modelů do těchto knihoven použít skript PowerShellu popsaný v tomto článku.
Balíček MicrosoftML R obsahuje předem natrénované modely.
Sql Server R Services, což je pouze R, nezahrnuje balíček MicrosoftML z krabice. Pokud chcete přidat MicrosoftML, musíte provést aktualizaci komponenty. Jednou z výhod upgradu komponenty je, že můžete současně přidat předem natrénované modely, díky čemuž je spouštění skriptu PowerShellu zbytečné. Pokud jste však již provedli upgrade, ale zapomněli jste přidat předtrénované modely, můžete spustit skript PowerShell, jak je popsáno v tomto článku. Funguje pro obě verze SQL Serveru. Než to uděláte, potvrďte, že knihovna MicrosoftML existuje na adrese C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\R_SERVICES\library.
Kontrola, jestli jsou nainstalované předem natrénované modely
Instalační cesty pro modely R a Pythonu jsou následující:
Pro R:
C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\R_SERVICES\library\MicrosoftML\mxLibs\x64Pro Python:
C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\PYTHON_SERVICES\Lib\site-packages\microsoftml\mxLibs
Názvy souborů modelu jsou v následujícím seznamu:
AlexNet_Updated.modelImageNet1K_mean.xmlpretrained.modelResNet_101_Updated.modelResNet_18_Updated.modelResNet_50_Updated.model
Pokud už jsou modely nainstalované, přeskočte k ověřovacímu kroku a ověřte dostupnost.
Stažení instalačního skriptu
Navštivte https://aka.ms/mlm4sql ke stažení souboru Install-MLModels.ps1. Na stránce GitHubu vyberte Stáhnout nezpracovaný soubor.
Spustit se zvýšenými oprávněními
Spusťte PowerShell. Na hlavním panelu klikněte pravým tlačítkem myši na ikonu programu PowerShell a vyberte Spustit jako správce.
Doporučená zásada spuštění během instalace je RemoteSigned. Další informace o nastavení zásad spouštění PowerShellu najdete v tématu Set-ExecutionPolicy. Například:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUserZadejte plně kvalifikovanou cestu k souboru instalačního skriptu a zadejte název instance. Za předpokladu, že máte složku Stažené soubory a výchozí instanci, příkaz může vypadat takto:
PS C:\WINDOWS\system32> C:\Users\<user-name>\Downloads\Install-MLModels.ps1 MSSQLSERVER
Output
Ve výchozí instanci služby SQL Server Machine Learning Services připojené k internetu s R a Pythonem by se měly zobrazit zprávy podobné následujícímu.
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>
Ověření instalace
Nejprve zkontrolujte nové soubory ve složce mxlibs. Dále spusťte ukázkový kód, abyste potvrdili, že jsou modely nainstalované a funkční.
Kroky ověření pro R
Spusťte RGUI.EXE na
C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\R_SERVICES\bin\x64.Do příkazového řádku vložte následující skript jazyka R.
# 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 sentimentScoresPokud chcete zobrazit skóre mínění, stiskněte Enter . Výstup by měl být následující:
> 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
Postup ověření Pythonu
Začněte Python.exe na adrese
C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\PYTHON_SERVICES.Do příkazového řádku vložte následující skript Pythonu.
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)Stisknutím klávesy Enter vytiskněte skóre. Výstup by měl být následující:
>>> 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
Pokud ukázkové skripty selžou, nejprve zkontrolujte umístění souboru. V systémech s více instancemi SQL Serveru nebo pro instance, které běží souběžně se samostatnými verzemi, je možné, aby instalační skript nesprávně četl prostředí a umístil soubory do nesprávného umístění. Obvykle se problém vyřeší ručním zkopírováním souborů do správné složky mxlib.
Příklady použití předem natrénovaných modelů
Následující odkaz obsahuje ukázkový kód, který vyvolává předem natrénované modely.
Výzkum a zdroje
V současné době jsou dostupné modely hluboké neurální sítě (DNN) pro analýzu mínění a klasifikaci obrázků. Všechny předem natrénované modely byly natrénovány pomocí sady Microsoft Computation Network Toolkit (CNTK).
Konfigurace každé sítě byla založena na následujících referenčních implementacích:
ResNet-18ResNet-50ResNet-101AlexNet
Další informace o algoritmech používaných v těchto modelech hlubokého učení a jejich implementaci a trénování pomocí CNTK najdete v těchto článcích: