我是Azure ML Studio的新手,正在尝试弄清楚如何使用Azure SQL Server作为训练输入参数。到目前为止,我可以将本地数据同步到Azure SQL数据库中,并在Azure ML Studio上训练数据和获得输出。我也部署了预测web服务。我需要触发训练服务来从Azure SQL服务器读取数据,但周围的所有示例都将Azure blob存储显示为训练服务输入。
发布于 2017-10-29 22:32:41
关于训练,您将希望使用导入数据模块。在那里你可以指定如何连接到你的Azure SQL数据库。
这篇文章可能会给你一个很好的pointer,它展示了如何使用Azure Data Factory来同步重新训练实验。
发布于 2018-05-25 08:51:17
我发现这很难在文档中找到,但我发现了这个链接,我能够在不上传blob的情况下成功地运行批处理执行。https://docs.microsoft.com/en-us/azure/machine-learning/studio/web-services-that-use-import-export-modules
关键部分是:
传递给Import Data和Export Data的参数
模块。在本例中,您使用原始查询,但定义了一个新的
表名。
要配置导入查询和目标表的Web服务参数,请执行以下操作:
在Import Data模块的属性窗格中,单击Database query字段右上角的图标,然后选择Set as web service参数。在Export Data模块的属性窗格中,单击Data table name字段右上角的图标,然后选择Set as web service参数。在“导出数据模块”属性窗格底部的“Web服务参数”部分中,单击“数据库查询”并将其重命名为“查询”。单击Data Table name并将其重命名为table。
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" },
}
};
一旦将数据库用作加载数据模块源,就不需要在训练模块上有web服务输入。您还可以将数据库查询设置为web参数。一旦你运行批处理执行作业来重新训练模型,你就可以将它们存储在Azure blob存储中,并让你的预测模型在运行时使用“加载训练好的模型”模块而不是训练好的模型模块从那里加载它们。有关该过程,请参阅此链接:
所以简而言之:
将SQL数据库用作导入数据模块的源
按所需的时间间隔运行批处理过程以重新训练模型
将重新训练的模型(ilearner文件)保存到blob存储中,或保存到可访问的http地址
在预测实验中使用负载训练模型模块,而不是训练模型。
将您的blob或url的路径放入load trained模型模块的参数中。
使用动态加载的模型运行、发布和测试预测实验
请注意,如果您的实验中有多个模型,则可以使用此方法。
https://stackoverflow.com/questions/46989761
复制相似问题