Использование Azure SQL Server в качестве входного параметра службы обучения Azure ML

Я новичок в Azure ML Studio и пытаюсь понять, как использовать Azure SQL Server в качестве входного параметра для обучения. До сих пор я мог синхронизировать локальные данные в базе данных SQL Azure, обучать данные и получать выходные данные в Azure ML Studio. Я также развернул веб-сервис прогнозирования. Мне нужно запустить службу обучения для чтения данных с SQL-сервера Azure, но во всех примерах хранилище BLOB-объектов Azure показывается как ввод данных службы обучения.

  1. Есть ли способ использовать Azure SQL Server в качестве входного параметра обучения, и все данные обучения будут считаны из этой базы данных, и обученная модель будет обновлена?
  2. Нужно ли сохранять обученную модель в хранилище BLOB-объектов Azure для использования в службе прогнозирования, или она будет обновлена ​​после завершения пакетного задания по обучению, и будет ли служба прогнозирования начнет использовать обученную модель автоматически?

2 ответа

Мне было трудно найти это в документации, но я обнаружил, что по этой ссылке я смог успешно запустить пакетное выполнение без загрузки большого двоичного объекта. https://docs.microsoft.com/en-us/azure/machine-learning/studio/web-services-that-use-import-export-modules

Ключевая часть:

  • Скопируйте и вставьте пример кода C# в файл Program.cs и удалите все ссылки на хранилище BLOB-объектов.

  • Найдите объявление запроса и обновите значения веб-службы.
    Параметры, которые передаются в данные импорта и экспорта данных
    модули. В этом случае вы используете исходный запрос, но определяете новый
    имя таблицы

Чтобы настроить параметры веб-службы для запроса на импорт и таблицы назначения:

На панели свойств модуля "Импорт данных" щелкните значок в правом верхнем углу поля запроса к базе данных и выберите "Установить как параметр веб-службы". На панели свойств модуля "Экспорт данных" щелкните значок в правом верхнем углу поля имени таблицы данных и выберите "Установить как параметр веб-службы". В нижней части панели свойств модуля "Экспорт данных" в разделе "Параметры веб-службы" щелкните Запрос к базе данных и переименуйте его в "Запрос". Нажмите Имя таблицы данных и переименуйте его в Таблицу.

 var request = new BatchExecutionRequest() 
 {           
     GlobalParameters = new Dictionary<string, string>() {
         { "Query", @"select [age], [workclass], [fnlwgt], [education], [education-num], [marital-status], [occupation], [relationship], [race], [sex], [capital-gain], [capital-loss], [hours-per-week], [native-country], [income] from dbo.censusdata" },
         { "Table", "dbo.ScoredTable2" },
     }
 };

Если у вас есть база данных в качестве источника модуля загрузки данных, вам не нужно вводить веб-сервис в обучающий модуль. Вы также можете установить запрос к базе данных в качестве веб-параметра. Выполнив задание пакетного выполнения для переобучения моделей, вы можете сохранить их в хранилище больших двоичных объектов Azure и сделать так, чтобы ваша прогнозирующая модель загружала их оттуда во время выполнения, используя модули "загрузить обученную модель", а не обученные модули моделей. Смотрите эту ссылку для этой процедуры:

https://blogs.technet.microsoft.com/machinelearning/2017/06/19/loading-a-trained-model-dynamically-in-an-azure-ml-web-service/

Итак, вкратце:

Используйте базу данных SQL в качестве источника для модуля импорта данных

Запустите процесс пакетного выполнения, чтобы переучить модель с любым интервалом, который вы хотите

Сохраните переобученные модели (файлы ilearner) в хранилище больших двоичных объектов или по адресу http, который доступен

Используйте модуль обученной модели нагрузки в вашем прогнозирующем эксперименте, а не обученную модель.

укажите путь к вашему BLOB-объекту или URL-адресу в параметрах модуля (ов) обученной модели нагрузки.

запускать, публиковать и тестировать прогнозный эксперимент с динамически загружаемыми моделями

Обратите внимание, что этот подход можно использовать, если в эксперименте используется несколько моделей.

Что касается обучения, вы можете использовать модули данных импорта. Там вы можете указать, как подключиться к базе данных SQL Azure.

Эта статья может дать вам хороший указатель и показать, как использовать фабрику данных Azure для синхронизации переобучения эксперимента.

Другие вопросы по тегам