如何从 azure 机器学习工作区中删除实验
Posted
技术标签:
【中文标题】如何从 azure 机器学习工作区中删除实验【英文标题】:How to delete an experiment from an azure machine learning workspace 【发布时间】:2019-12-21 04:00:01 【问题描述】:我使用 python sdk (azureml-sdk) 在我的工作区中创建实验。我现在有很多“测试”实验在我们的工作空间里乱扔垃圾。如何通过 api 或门户网站删除单个实验。我知道我可以删除整个工作区,但是我们不想删除一些好的实验
https://docs.microsoft.com/en-us/azure/machine-learning/service/how-to-export-delete-data#delete-visual-interface-assets 建议这是可能的,但我的工作区视图看起来不像那里显示的那样
【问题讨论】:
【参考方案1】:从2021-08-24 Azure ML Workspace release 开始,您可以删除实验 - 但只能通过在 UI 中单击(在实验视图中选择实验 -> '删除')
注意 - 删除实验将删除所有底层运行 - 删除运行将删除子运行、运行指标、元数据、输出、日志和工作目录!
仅用于实验没有任何底层运行,您可以使用 Python SDK (azureml-core==1.34.0) - 实验类 delete 静态方法,例如:
from azureml.core import Workspace, Experiment
aml_workspace = Workspace.from_config()
experiment_id = Experiment(aml_workspace, '<experiment_name>').id
Experiment.delete(aml_workspace, experiment_id)
如果一个实验已经运行,你会得到一个错误:
CloudError: Azure Error: UserError
Message: Only empty Experiments can be deleted. This experiment contains run(s)
我希望 Azure ML 团队尽快将此功能引入 Python SDK!
还有一个遗憾 - 如果你优化删除会很棒 - 现在看起来非常慢(实现)同步(也需要异步)调用......
【讨论】:
我只在实验页面的 UI 中看到存档实验选项 - 没有删除选项 Nvm - 快速澄清一下;我只在主实验页面的 UI 中看到存档实验选项(您可以在其中看到所有实验并进行多选) - 删除选项位于单个实验视图中,因此必须单击该页面中的一个才能执行给它。【参考方案2】:此问题目前仍处于打开状态。我想避免在工作区中进行许多实验的方法是在 Python SDK 中本地运行,并在运行完成后将输出文件上传到运行的输出文件夹后。
你可以这样定义:
run.upload_file(name='outputs/sample.csv', path_or_stream='./sample.csv')
【讨论】:
【参考方案3】:您可以使用以下代码删除您的实验:
# Declare your experiment
from azureml.core import Experiment
experiment = Experiment(workspace=ws, name="<your_experiment>")
# Delete the experiment
experiment.archive()
# Now check the list of experiments on your AML wokrspace and see that it was deleted
【讨论】:
归档和删除一样吗? 不,如果您在“实验”概览中切换“查看存档的实验”,您仍然可以看到它。但是,它不再出现在普通视图中。【参考方案4】:实验删除是一个常见的请求,我们 Azure ML 团队正在努力解决这个问题。不幸的是,它还不完全支持。
【讨论】:
是否可以通过任何 AZ-CLI 命令/api 调用来实现? @IvoMerchiers 不,目前无法删除。 仍然没有什么可以帮助删除实验?它确实有助于保持清洁 这仍然是真的吗? 仍然正确。失败。您如何发布无法删除实体(即实验和环境)的产品??以上是关于如何从 azure 机器学习工作区中删除实验的主要内容,如果未能解决你的问题,请参考以下文章