Я пытаюсь получить простой конвейер машинного обучения Azure с набором данных "собаки против кошек", выполнив следующие действия: задокументировано здесь
В моей записной книжке есть следующее -
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
.
Правильно ли я настраиваю среду? Что не так