我的简单实验从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。
答案 0 :(得分:0)
对我来说,将实验作为cortana画廊的私人实验发布是最有用的选择之一。只有拥有该链接的人才能查看并添加该库的实验。在下面的链接中,我已经解释了我遵循的步骤。
https://naadispeaks.wordpress.com/2017/08/14/copying-migrating-azureml-experiments/
答案 1 :(得分:0)
复制实验时,出于安全原因擦除了pwd。如果要以编程方式将其注入,则必须设置另一个元数据字段以表明这是一个纯文本密码,而不是您正在设置的加密密码。如果您以JSON格式导出实验,则可以轻松解决这个问题。
答案 2 :(得分:0)
我认为我发现了为什么您无法导出凭据的问题。
将JSON图导出到本地磁盘,然后更新任何必须更新的参数。
此外,您还会注意到凭据存储为“占位符”而不是“文字”。因此,将它们更改为Literals而不是占位符是很有意义的。
这可以通过遍历JSON来找到需要更新的相关参数来完成。
这是一个简短的例子。