从不同的工作区

时间:2017-08-22 11:07:03

标签: powershell azure machine-learning azure-powershell azure-machine-learning-studio

我的简单实验从Azure存储表中读取,选择几列并写入另一个Azure存储表。这个实验在Workspace上运行正常(我们称之为workspace1)。

现在我需要使用Powershell将此实验按原样移动到另一个工作区(Call it WorkSpace2),并且需要能够运行实验。 我目前正在使用此库 - https://github.com/hning86/azuremlps

问题:

当我使用“Copy-AmlExperiment”从WorkSpace 1复制实验到WorkSpace 2时,除Azure表帐户密钥外,实验及其所有属性都会被复制。 现在,如果我在studio.azureml.net上手动输入导入/导出模块的帐户密钥,此实验运行正常

但我无法通过PowerShell执行此操作。如果我将WorkSpace2中复制的实验作为JSON导出(Export-AmlExperimentGraph)并将AccountKey插入JSON文件并将其导入(Import-AmlExperiment)到WorkSpace 2.实验无法运行。

在PowerShell上,我收到“内部服务器错误:500”。

在studio.azureml.net上运行时,我收到通知“您的实验无法运行,因为它已在另一个会话中更新。请重新打开此实验以查看最新版本。”

是否有将外部依赖项的实验移至另一个工作区并运行它?

编辑:我认为问题与实验处理AccountKey的方式有关。当我手动输入它时,它被转换为包含RecordKey和IndexInRecord的JSON数组。但是当我使用accountKey上传JSON实验时,它会继续保持不变,并且不会被解析为RecordKey和IndexInRecord。

3 个答案:

答案 0 :(得分:0)

对我来说,将实验作为cortana画廊的私人实验发布是最有用的选择之一。只有拥有该链接的人才能查看并添加该库的实验。在下面的链接中,我已经解释了我遵循的步骤。

https://naadispeaks.wordpress.com/2017/08/14/copying-migrating-azureml-experiments/

答案 1 :(得分:0)

复制实验时,出于安全原因擦除了pwd。如果要以编程方式将其注入,则必须设置另一个元数据字段以表明这是一个纯文本密码,而不是您正在设置的加密密码。如果您以JSON格式导出实验,则可以轻松解决这个问题。

答案 2 :(得分:0)

我认为我发现了为什么您无法导出凭据的问题。

将JSON图导出到本地磁盘,然后更新任何必须更新的参数。

此外,您还会注意到凭据存储为“占位符”而不是“文字”。因此,将它们更改为Literals而不是占位符是很有意义的。

这可以通过遍历JSON来找到需要更新的相关参数来完成。

这是一个简短的例子。

将占位符更改为文字:

Changing the Placeholder to a Literal