Установка предварительно обученных моделей машинного обучения в SQL Server
Область применения: 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. Предварительно обученные модели созданы корпорацией Майкрософт и готовы к использованию. Они добавлены в экземпляр в качестве задачи, выполняемой после установки. Дополнительные сведения об этих моделях см. в разделе Ресурсы этой статьи.
Начиная с 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) | Использование |
---|---|---|
getSentiment | get_sentiment | Формирует положительную или отрицательную оценку тональности для текстовых входных данных. |
featurizeImage | featurize_image | Извлекает текстовые данные из входного файла изображения. |
Предварительные требования
Алгоритмы машинного обучения обладают высокими требованиями к вычислительным ресурсам. Мы рекомендуем использовать 16 ГБ ОЗУ для рабочих нагрузок с низкой или средней интенсивностью, включая пошаговые руководства со всеми примерами данных.
Для добавления предварительно обученных моделей необходимо иметь права администратора на компьютере и на SQL Server.
Необходимо включить внешние сценарии, а на SQL Server должна быть запущена служба панели запуска. Инструкции по установке содержат инструкции по включению и проверке этих компонентов.
Скачайте и установите последнее накопительное обновление для вашей версии SQL Server. См. Последние обновления для Microsoft SQL Server.
Пакет R MicrosoftML и пакет Python microsoftml содержат предварительно обученные модели.
Службы машинного обучения SQL Server включают версии библиотеки машинного обучения для обоих языков, поэтому это условие выполняется без каких-либо дополнительных действий с вашей стороны. Так как библиотеки существуют, можно использовать сценарий PowerShell, описанный в этой статье, чтобы добавить предварительно обученные модели в эти библиотеки.
Пакет MicrosoftML R содержит предварительно обученные модели.
Службы SQL Server R Services, предназначенные только для языка R, не содержат пакет MicrosoftML. Чтобы добавить пакет MicrosoftML, необходимо выполнить обновление компонентов. Одним из преимуществ обновления компонентов является возможность одновременного добавления предварительно обученных моделей, что делает ненужным выполнение сценария PowerShell. Однако если вы уже выполнили обновление, но не добавили предварительно обученные модели в первый раз, можно выполнить сценарий PowerShell, как описано в этой статье. Он работает для обеих версий SQL Server. Перед выполнением сценария убедитесь, что библиотека MicrosoftML в C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\R_SERVICES\library
существует.
Проверка установки предварительно обученных моделей
Пути установки для моделей 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.model
- ImageNet1K_mean.xml
- pretrained.model
- ResNet_101_Updated.model
- ResNet_18_Updated.model
- ResNet_50_Updated.model
Если модели уже установлены, перейдите к шагу проверки, чтобы подтвердить доступность.
Скачивание сценария установки
Чтобы скачать файл Install-MLModels.ps1, перейдите на страницу https://aka.ms/mlm4sql.
Выполнение с повышенными привилегиями
Запустите 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
Выходные данные
На экземпляре по умолчанию Служб машинного обучения 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)
Нажмите клавишу ВВОД, чтобы распечатать оценки. Выходные данные должны выглядеть следующим образом:
>>> 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 >>>
Примечание
Если демонстрационные сценарии завершаются с ошибкой, проверьте расположение файла. В системах с несколькими экземплярами SQL Server или для экземпляров, работающих параллельно с автономными версиями, сценарий установки может некорректно считывать параметры среды и размещать файлы в неправильном месте. Как правило, для устранения этой проблемы достаточно вручную скопировать файлы в правильную папку mxlib.
Примеры использования предварительно обученных моделей
По приведенной ссылке можно найти пример кода, в котором вызываются предварительно обученные модели.
Исследования и ресурсы
Сейчас доступны модели глубокой нейронной сети для анализа тональности и классификации изображений. Все предварительно обученные модели были обучены с помощью Computation Network Toolkit от корпорации Майкрософт (CNTK).
Конфигурация каждой сети была основана на следующих эталонных реализациях:
- ResNet-18
- ResNet-50
- ResNet-101
- AlexNet
Дополнительные сведения об алгоритмах, используемых в этих моделях глубокого обучения, и о том, как они реализуются и обучаются с помощью CNTK, см. в следующих статьях:
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по