Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применимо к: SQL Server 2016 (13.x)
SQL Server 2017 (14.x) SQL Server 2019 (15.x)
Эта статья относится к SQL Server 2016 (13.x), SQL Server 2017 (14.x) и SQL Server 2019 (15.x).
В этой статье объясняется, как использовать PowerShell для добавления бесплатных предварительно обученных моделей машинного обучения для анализа тональности и фичеризации изображений в экземпляр SQL Server с интеграцией R или Python. Предварительно обученные модели созданы Microsoft, готовы к использованию и добавляются в экземпляр в качестве задачи, выполняемой после установки. Дополнительные сведения об этих моделях см. в разделе "Ресурсы " этой статьи.
Начиная с SQL Server 2022 (16.x), среды выполнения для R, Python и Java больше не устанавливаются с помощью программы установки SQL. Вместо этого установите нужные пользовательские среды выполнения и пакеты для R и/или Python. Дополнительные сведения см. в статье Установка Служб машинного обучения SQL Server 2022 (Python и R) в Windows.
После установки предварительно обученные модели считаются деталью реализации, обеспечивающей работу определённых функций в библиотеках MicrosoftML (R) и microsoftml (Python). Вы не должны (и не можете) просматривать, настраивать или переобучать модели, а также использовать их как самостоятельный ресурс в пользовательском коде или в сочетании с другими функциями.
Чтобы использовать предварительно обученные модели, вызовите функции, указанные в следующей таблице.
| Функция R (MicrosoftML) | Функция Python (microsoftml) | Usage |
|---|---|---|
| getSentiment | get_sentiment | Формирует положительную или отрицательную оценку тональности для текстовых входных данных. |
| featurizeImage | featurize_image | Извлекает текстовые данные из входного файла изображения. |
Prerequisites
Алгоритмы машинного обучения обладают высокими требованиями к вычислительным ресурсам. Рекомендуется использовать 16 ГБ ОЗУ для низко-умеренных рабочих нагрузок, включая выполнение пошаговых руководств по использованию всех примеров данных.
Для добавления предварительно обученных моделей необходимо иметь права администратора на компьютере и SQL Server.
Необходимо включить внешние сценарии, а на SQL Server должна быть запущена служба панели запуска. Инструкции по установке содержат инструкции по включению и проверке этих компонентов.
Скачайте и установите последнее накопительное обновление для вашей версии SQL Server. См. Последние обновления для Microsoft SQL Server.
Пакет MicrosoftML R или пакет Microsoftml Python содержат предварительно обученные модели.
Службы машинного обучения SQL Server включают версии библиотеки машинного обучения для обоих языков, поэтому это условие выполняется без каких-либо дополнительных действий с вашей стороны. Так как библиотеки присутствуют, можно использовать сценарий PowerShell, описанный в этой статье, чтобы добавить предварительно обученные модели в эти библиотеки.
Проверьте, установлены ли предварительно обученные модели
Пути установки для моделей R и Python приведены ниже:
Для R:
C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\R_SERVICES\library\MicrosoftML\mxLibs\x64Для Python:
C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\PYTHON_SERVICES\Lib\site-packages\microsoftml\mxLibs
Имена файлов модели находятся в следующем списке:
AlexNet_Updated.modelImageNet1K_mean.xmlpretrained.modelResNet_101_Updated.modelResNet_18_Updated.modelResNet_50_Updated.model
Если модели уже установлены, перейдите к шагу проверки , чтобы подтвердить доступность.
Скачивание сценария установки
Посетите https://aka.ms/mlm4sql страницу для скачивания файла Install-MLModels.ps1. На странице GitHub выберите "Скачать необработанный файл".
Выполнить с повышенными привилегиями
Запустите PowerShell. На панели задач щелкните правой кнопкой мыши значок программы PowerShell и выберите Запуск от имени администратора.
Рекомендуемая политика выполнения в процессе установки — "RemoteSigned". Дополнительные сведения о настройке политики выполнения PowerShell см. в разделе Set-ExecutionPolicy. Рассмотрим пример.
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUserВведите полный путь к файлу скрипта установки и добавьте имя экземпляра. Предполагая, что используется папка Downloads и экземпляр по умолчанию, команда может выглядеть следующим образом:
PS C:\WINDOWS\system32> C:\Users\<user-name>\Downloads\Install-MLModels.ps1 MSSQLSERVER
Output
На экземпляре по умолчанию Служб машинного обучения SQL Server с R и Python, подключенном к Интернету, вы должны увидеть сообщения, аналогичные приведенным ниже.
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>
Проверка установки
Сначала проверьте наличие новых файлов в папке mxlibs. Затем запустите демонстрационный код, чтобы убедиться, что модели установлены и работают.
Шаги проверки для R
Запустите RGUI.EXE с
C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\R_SERVICES\bin\x64.Вставьте в командную строку следующий сценарий 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 sentimentScoresНажмите клавишу ВВОД , чтобы просмотреть оценки тональности. Выходные данные должны выглядеть следующим образом:
> 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
Действия по выполнению проверки для Python
Запустите Python.exe с
C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\PYTHON_SERVICES.Вставьте следующий скрипт Python в командной строке.
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)Нажмите Enter, чтобы распечатать результаты. Выходные данные должны выглядеть следующим образом:
>>> 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
Если демонстрационные сценарии завершаются с ошибкой, проверьте расположение файла. В системах с несколькими экземплярами SQL Server или для экземпляров, работающих параллельно с автономными версиями, сценарий установки может некорректно считывать параметры среды и размещать файлы в неправильном месте. Как правило, для устранения этой проблемы достаточно вручную скопировать файлы в правильную папку mxlib.
Примеры использования предварительно обученных моделей
Следующая ссылка содержит пример кода, вызывающего предварительно обученные модели.
Исследования и ресурсы
Сейчас доступны модели глубокой нейронной сети для анализа тональности и классификации изображений. Все предварительно обученные модели обучены с помощью набора средств сети вычислений Майкрософт (CNTK).
Конфигурация каждой сети была основана на следующих эталонных реализациях:
ResNet-18ResNet-50ResNet-101AlexNet
Дополнительные сведения об алгоритмах, используемых в этих моделях глубокого обучения, и о том, как они реализуются и обучаются с помощью CNTK, см. в следующих статьях: