我已经在Azure机器学习中注册了一个自定义环境(通过Environments选项卡)(提供Docker文件和conda_dependencies.yaml),我计划将其用于培训作业。现在,我希望能够在AzureML笔记本中使用这个环境,以进行实验和开发代码,我最终计划将其用于培训工作。
我想知道是否有一种方法可以在AzureML notebook中创建一个基于上一步注册环境的内核?
我已经遵循了多个教程来做到这一点,特别是:
- https://learn.microsoft.com/en-us/answers/questions/764339/how-to-use-custom-environment-defined-in-the-custo
- https://medium.com/analytics-vidhya/how-to-create-virtual-environments-in-azure-ml-workspace-in-azure-portal-39245a34b370的
- How to run notebooks in Azure ML with a specified custom environment的
我能够在AzureML notebook中创建新的conda venv(在终端会话中从conda_dependencies.yaml文件或简单地作为新的venv并逐个手动安装包)并基于此venv创建新的内核。我不能做的是根据我已经在Environments选项卡中创建的注册环境创建venv。根据文档(link),应该有一种方法可以通过使用Environment.build_local()
方法来做到这一点,但它不适合我。
我尝试运行以下代码:
from azureml.core.workspace import Workspace
from azureml.core import Environment
ws = Workspace.from_config()
myenv = Environment.get(ws, 'my_previously_registered_environment')
myenv.build_local(ws)
字符串
此代码仅运行几秒钟,并输出以下内容:
Saving setup content into /tmp/tmpXYZXYZXY
型
没有新的venv被创建,至少我没有通过运行看到它:
%conda env list
型
我是否以错误的方式使用了Environment.build_local()
方法(或使用了错误的参数)?
如果无法使用Environment.build_local()
从已注册的环境中在AzureML笔记本中创建venv,那么是否至少有一种方法可以从AzureML笔记本中获取conda_dependencies.yaml文件(我在环境注册期间使用的)(例如:它是否保存在存储中的某个地方,以便我可以从Python访问它)?我试图能够创建venv和内核的基础上注册的环境,通过运行(简单)脚本(S)没有任何手动复制。
1条答案
按热度按时间oxf4rvwz1#
我已经创建了一个自定义环境,其中包含conda.yaml文件
要从自定义环境中获取yaml文件,您可以使用以下代码片段:
字符串
上面的代码将保存
conda_dependencies.yml
在env2.yaml
目录。的
的
然后,您可以使用此
conda_dependencies.yml
文件创建conda env
和kernel
。