我试着用一份蓝色机器学习的工作来训练我的模特。
但是,我以CLI应用程序的形式运行作业(使用Click),在其中我从其他文件中导入了一些函数。在我的CI/CD管道中,我用
pip install .
但是,当在Azure ML中创建作业时,它不能导入这些函数。它给出了一个错误:
Traceback (most recent call last):
File "mlops_i4t/machine_learning/model_utils.py", line 4, in <module>
from mlops_i4t.preprocessing import get_final_dataframe
ModuleNotFoundError: No module named 'mlops_i4t'如何在Azure ML作业中安装自定义包并使用它?
发布于 2022-10-07 17:11:17
编辑更复杂的设置(比如您自己的包)
创建您自己的停靠文件,例如:
dockerfile = r"""
FROM nvcr.io/nvidia/pytorch:22.02-py3
RUN python3 -m pip install --upgrade pip setuptools wheel
RUN pip install numpy .....
COPY requirements.azure.txt .
RUN pip install -r requirements.azure.txt
....
"""
myEnv = Environment(name = "your-env-name")
myEnv.docker.base_image = None
myEnv.docker.base_dockerfile = dockerfile
myEnv.python.user_managed_dependencies = True
myEnv.docker.arguments= ['--privileged']
myEnv.register(workspace=ws)关于如何使用这个myEnv,请参阅下面的内容。
我想你知道ScriptRunConfig和类似的东西(否则见我的评论)
那么,我通常设置环境的方式是:
myenv = Environment.from_pip_requirements(
name="your-env-name",
file_path="requirements.azure.txt"
)
# Specify a (GPU) base image
myenv.docker.enabled = True
myenv.docker.base_image = (
"mcr.microsoft.com/azureml/openmpi3.1.2-cuda10.1-cudnn7-ubuntu18.04"
)
# Either go with RunConfiguration (more general)
train_run_config = RunConfiguration()
train_run_config.environment = myenv
....
# OR use the simpler ScriptRunConfig:
run_config = ScriptRunConfig(
source_directory=".",
command=launch_cmd,
compute_target=compute,
environment=myenv,
)码头形象作为一个基础,你可以建立你自己的或从阿齐兹默认选择。
关键的部分是我通常将需求存储在单独的from_pip_requirements中,因为我的本地安装可能没有GPU,等等
在这里,您还可以使用pip安装本地安装的预先包装的车轮。Install local wheel file with requirements.txt
我真的希望这能让我们明白:)否则,你可以留下一些评论。
https://stackoverflow.com/questions/73987164
复制相似问题