Использование Azure SQL Server в качестве входного параметра службы обучения Azure ML
Я новичок в Azure ML Studio и пытаюсь понять, как использовать Azure SQL Server в качестве входного параметра для обучения. До сих пор я мог синхронизировать локальные данные в базе данных SQL Azure, обучать данные и получать выходные данные в Azure ML Studio. Я также развернул веб-сервис прогнозирования. Мне нужно запустить службу обучения для чтения данных с SQL-сервера Azure, но во всех примерах хранилище BLOB-объектов Azure показывается как ввод данных службы обучения.
- Есть ли способ использовать Azure SQL Server в качестве входного параметра обучения, и все данные обучения будут считаны из этой базы данных, и обученная модель будет обновлена?
- Нужно ли сохранять обученную модель в хранилище 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 и сделать так, чтобы ваша прогнозирующая модель загружала их оттуда во время выполнения, используя модули "загрузить обученную модель", а не обученные модули моделей. Смотрите эту ссылку для этой процедуры:
Итак, вкратце:
Используйте базу данных SQL в качестве источника для модуля импорта данных
Запустите процесс пакетного выполнения, чтобы переучить модель с любым интервалом, который вы хотите
Сохраните переобученные модели (файлы ilearner) в хранилище больших двоичных объектов или по адресу http, который доступен
Используйте модуль обученной модели нагрузки в вашем прогнозирующем эксперименте, а не обученную модель.
укажите путь к вашему BLOB-объекту или URL-адресу в параметрах модуля (ов) обученной модели нагрузки.
запускать, публиковать и тестировать прогнозный эксперимент с динамически загружаемыми моделями
Обратите внимание, что этот подход можно использовать, если в эксперименте используется несколько моделей.
Что касается обучения, вы можете использовать модули данных импорта. Там вы можете указать, как подключиться к базе данных SQL Azure.
Эта статья может дать вам хороший указатель и показать, как использовать фабрику данных Azure для синхронизации переобучения эксперимента.