ModuleNotFoundError: No module named 'keras' in Azure ML Pipeline
ModuleNotFoundError: No module named 'keras' in Azure ML Pipeline
我正在尝试按照以下步骤使用猫狗数据集获得一个简单的 Azure ML 管道 - documented here
我的笔记本包含以下内容 -
import azureml.core
from azureml.core import Workspace, Datastore
from azureml.core import Environment
from azureml.core.environment import CondaDependencies
from azureml.pipeline.steps import PythonScriptStep
ws = Workspace.from_config()
myenv = Environment(name="myenv")
conda_dep = CondaDependencies()
conda_dep.add_conda_package("keras")
conda_dep.add_conda_package("PIL")
myenv.python.conda_dependencies=conda_dep
myenv.register(workspace=ws)
设置数据引用和计算后,下面是我创建管道的方式 -
trainStep = PythonScriptStep(
script_name="dogs_vs_cats.py",
arguments=["--input", blob_input_data, "--output", output_data1],
inputs=[blob_input_data],
outputs=[output_data1],
compute_target=compute_target,
source_directory="../dogs-vs-cats"
)
Steps = [trainStep]
from azureml.pipeline.core import Pipeline
pipeline1 = Pipeline(workspace=ws, steps=[Steps])
from azureml.core import Experiment
pipeline_run1 = Experiment(ws, 'dogs_vs_cats_exp').submit(pipeline1)
pipeline_run1.wait_for_completion()
执行完这一步后,实验失败,查了一堆信息后报了如下错误-
Traceback (most recent call last):
File "dogs_vs_cats.py", line 30, in <module>
import keras
ModuleNotFoundError: No module named 'keras'
终端显示我的 conda 环境设置为 azureml_py36,Keras 似乎列在 conda list
的输出中。
我是否正确设置了环境?缺少什么
从您指定环境的方式来看,很难看出它是否是正确的 RunConfiguration 对象。如果是的话,应该是给你添加PythonScriptStep了。
trainStep = PythonScriptStep(
script_name="dogs_vs_cats.py",
arguments=["--input", blob_input_data, "--output", output_data1],
inputs=[blob_input_data],
outputs=[output_data1],
compute_target=compute_target,
source_directory="../dogs-vs-cats",
runconfig=myenv
)
现在您正在定义环境,但似乎没有在任何地方使用它。如果您的问题仍然存在,可以尝试定义您的 RunConfiguration,就像他们在本笔记本中的 "Specify the environment to run the script" 步骤下所做的那样:
我正在尝试按照以下步骤使用猫狗数据集获得一个简单的 Azure ML 管道 - documented here
我的笔记本包含以下内容 -
import azureml.core
from azureml.core import Workspace, Datastore
from azureml.core import Environment
from azureml.core.environment import CondaDependencies
from azureml.pipeline.steps import PythonScriptStep
ws = Workspace.from_config()
myenv = Environment(name="myenv")
conda_dep = CondaDependencies()
conda_dep.add_conda_package("keras")
conda_dep.add_conda_package("PIL")
myenv.python.conda_dependencies=conda_dep
myenv.register(workspace=ws)
设置数据引用和计算后,下面是我创建管道的方式 -
trainStep = PythonScriptStep(
script_name="dogs_vs_cats.py",
arguments=["--input", blob_input_data, "--output", output_data1],
inputs=[blob_input_data],
outputs=[output_data1],
compute_target=compute_target,
source_directory="../dogs-vs-cats"
)
Steps = [trainStep]
from azureml.pipeline.core import Pipeline
pipeline1 = Pipeline(workspace=ws, steps=[Steps])
from azureml.core import Experiment
pipeline_run1 = Experiment(ws, 'dogs_vs_cats_exp').submit(pipeline1)
pipeline_run1.wait_for_completion()
执行完这一步后,实验失败,查了一堆信息后报了如下错误-
Traceback (most recent call last):
File "dogs_vs_cats.py", line 30, in <module>
import keras
ModuleNotFoundError: No module named 'keras'
终端显示我的 conda 环境设置为 azureml_py36,Keras 似乎列在 conda list
的输出中。
我是否正确设置了环境?缺少什么
从您指定环境的方式来看,很难看出它是否是正确的 RunConfiguration 对象。如果是的话,应该是给你添加PythonScriptStep了。
trainStep = PythonScriptStep(
script_name="dogs_vs_cats.py",
arguments=["--input", blob_input_data, "--output", output_data1],
inputs=[blob_input_data],
outputs=[output_data1],
compute_target=compute_target,
source_directory="../dogs-vs-cats",
runconfig=myenv
)
现在您正在定义环境,但似乎没有在任何地方使用它。如果您的问题仍然存在,可以尝试定义您的 RunConfiguration,就像他们在本笔记本中的 "Specify the environment to run the script" 步骤下所做的那样: