Azure / MachineLearningNotebooks

Python notebooks with ML and deep learning examples with Azure Machine Learning Python SDK | Microsoft
https://docs.microsoft.com/azure/machine-learning/service/
MIT License
4.01k stars 2.49k forks source link

Using ML Flow>train projects remote throwing error for conda env path #1843

Open azure-walker opened 1 year ago

azure-walker commented 1 year ago

When executing the train-projects-remote notebook in VS Code it throws and error when you try to run the experiment. AttributeError: 'Project' object has no attribute 'conda_env_path'

Output exceeds the size limit. Open the full output data in a text editor

AttributeError Traceback (most recent call last) /home/brcampb/projects/ml/notebooks/how-to-use-azureml/track-and-monitor-experiments/using-mlflow/train-projects-remote/train-projects-remote.ipynb Cell 15 in <cell line: 1>() ----> 1 remote_mlflow_run = mlflow.projects.run(uri=".", 2 parameters={"alpha":0.3}, 3 backend = "azureml", 4 backend_config = backend_config, 5 synchronous=True)

File ~/miniconda3/envs/azureml/lib/python3.8/site-packages/mlflow/projects/init.py:331, in run(uri, entry_point, version, parameters, docker_args, experiment_name, experiment_id, backend, backend_config, use_conda, storage_dir, synchronous, run_id, run_name, env_manager) 325 backend_config_dict[MLFLOW_LOCAL_BACKEND_RUN_ID_CONFIG] = run_id 327 experiment_id = _resolve_experiment_id( 328 experiment_name=experiment_name, experiment_id=experiment_id 329 ) --> 331 submitted_run_obj = _run( 332 uri=uri, 333 experiment_id=experiment_id, 334 entry_point=entry_point, 335 version=version, 336 parameters=parameters, 337 docker_args=docker_args, 338 backend_name=backend, 339 backend_config=backend_config_dict, 340 env_manager=env_manager, 341 storage_dir=storage_dir, ... ---> 96 if mlproject.conda_env_path: 97 _logger.info(_CONSOLE_MSG.format("Creating remote conda environment for project using MLproject")) 98 environment = Environment.from_conda_specification(name="environment", file_path=mlproject.conda_env_path)

AttributeError: 'Project' object has no attribute 'conda_env_path'

azure-walker commented 1 year ago

Using AzureML-SDK 1.46 and running this on a laptop. Python 3.8.10. I ran the subsequent notebook in the ML Studio and it ran but it is using AzureML-SDK 1.34 and it builds the compute instance using 3.6 because a python version is not stipulated in the conda.yaml file. Is the intent for these notebooks to be run using a compute instance in Azure, if not then a configuration.yaml file or a requirements.txt file should be created with the exact versions used for the notebooks otherwise these examples will fail