【发布时间】:2022-01-03 22:04:02
【问题描述】:
我正在使用 MS Azure ML,并发现当我启动 Notebook(从 Azure ML Studio)时,它在不同的环境中执行,而不是我创建 Python 脚本并从工作室运行它。我希望能够创建一个特定的环境并让笔记本使用它。 Notebook 运行的环境似乎没有包含我需要的包,我想保留不同的环境。
【问题讨论】:
标签: python azure azureml azureml-python-sdk azuremlsdk
我正在使用 MS Azure ML,并发现当我启动 Notebook(从 Azure ML Studio)时,它在不同的环境中执行,而不是我创建 Python 脚本并从工作室运行它。我希望能够创建一个特定的环境并让笔记本使用它。 Notebook 运行的环境似乎没有包含我需要的包,我想保留不同的环境。
【问题讨论】:
标签: python azure azureml azureml-python-sdk azuremlsdk
首先打开一个终端,然后使用与您的笔记本电脑相同的计算目标,然后使用现有环境,您可以这样做:
conda activate existing_env
conda install ipykernel
python -m ipykernel install --user --name existing_env --display-name "Python 3.8 - Existing Environment"
但是,要创建一个新环境并在您的 AzureML Notebook 中使用它,您必须执行以下命令:
conda create --name new_env python=3.8
conda activate new_env
conda install pip
conda install ipykernel
python -m ipykernel install --user --name new_env --display-name "Python 3.8 - New Environment"
最后但并非最不重要的一点是,您必须编辑 Jupyter 内核显示名称:
重要提示请确保您能够轻松地执行所有这些步骤:
jupyter kernelspec list
cd <folder-that-matches-the-kernel-of-your-environment>
sudo nano kernel.json
然后编辑名称以匹配您想要的名称并保存文件。
【讨论】:
使用 Pip、Conda、Docker image 和 Dockerfile,我们可以为您自己的脚本创建 ML 环境。
我希望能够创建一个特定的环境
要手动创建环境,
from azureml.core.environment import Environment
Environment(name="myenv")
使用 Conda 依赖项或 pip 要求文件使用以下代码创建环境:
#### From a Conda specification file
myenv = Environment.from_conda_specification(name = "myenv",
file_path = "path-to-conda-specification-file")
#### From a pip requirements file
myenv = Environment.from_pip_requirements(name = "myenv",
file_path = "path-to-pip-requirements-file")
Notebook 运行的环境似乎没有包含我需要的包,我想保留不同的环境。
要将包添加到您的环境中,可以使用 Conda、pip 或私有 Wheel 文件,但建议使用 CondaDependency 类。
from azureml.core.environment import Environment
from azureml.core.conda_dependencies import CondaDependencies
myenv = Environment(name="myenv")
conda_dep = CondaDependencies()
#### Installs numpy version 1.17.0 conda package
conda_dep.add_conda_package("numpy==1.17.0")
#### Installs pillow package
conda_dep.add_pip_package("pillow")
#### Adds dependencies to PythonSection of myenv
myenv.python.conda_dependencies=conda_dep
使用命令myenv.register(workspace=ws)在工作区中注册您的环境
list(workspace)列出workspace中的环境
运行您的特定环境:
from azureml.core import Run
Run.get_environment()
要将 Conda 环境作为内核安装在笔记本中,请参阅 add a new Jupyter kernel 并且代码应按照相同的顺序执行:
conda create --name newenv
conda activate newenv
conda install pip
conda install ipykernel
python -m ipykernel install --user --name newenv --display-name "Python (newenv)"
要添加、更改或删除 Jupyter 内核,请参阅article。
更多详情请参考Document
【讨论】: