microsoft / InnerEye-DeepLearning

Medical Imaging Deep Learning library to train and deploy 3D segmentation models on Azure Machine Learning

Home Page:https://aka.ms/innereyeoss

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

`hi-ml-azure` not specified in environment, but needed in `azure_util.py`

peterhessey opened this issue · comments

Is there an existing issue for this?

  • I have searched the existing issues

Bug summary

When importing any components from InnerEye/Azure/azure_util.py a ModuleNotFoundError is raised if one has not installed the hi-ml-azure package manually using pip.

Code for reproduction

Run in cmd line: 

python -c "from InnerEye.ML.photometric_normalization import PhotometricNormalization

Actual outcome

ModuleNotFoundError

Error messages

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/home/azureuser/git/InnerEye-DeepLearning/InnerEye/ML/photometric_normalization.py", line 13, in <module>
    from InnerEye.ML.config import PhotometricNormalizationMethod, SegmentationModelBase
  File "/home/azureuser/git/InnerEye-DeepLearning/InnerEye/ML/config.py", line 25, in <module>
    from InnerEye.ML.deep_learning_config import ModelCategory
  File "/home/azureuser/git/InnerEye-DeepLearning/InnerEye/ML/deep_learning_config.py", line 16, in <module>
    from InnerEye.Azure.azure_util import DEFAULT_CROSS_VALIDATION_SPLIT_INDEX, RUN_CONTEXT, is_offline_run_context
  File "/home/azureuser/git/InnerEye-DeepLearning/InnerEye/Azure/azure_util.py", line 16, in <module>
    from health_azure.utils import create_run_recovery_id, get_aml_run_from_run_id
ModuleNotFoundError: No module named 'health_azure'

Expected outcome

Successful import

System info

No response

AB#6103

commented

I think that the problem here is that the conda environment creation doesn't include setup of any of the packages that come with the InnerEye repository. With a suitable setup.py file, adding - -e . as the final pip dependency could be a solution.

On Mac, with the current setup.py, and in the InnerEye environment, the command:

pip install -e .

results in the error:

ERROR: Could not find a version that satisfies the requirement cucim==21.10.1 (from innereye==0.0.1) (from versions: none)
ERROR: No matching distribution found for cucim==21.10.1 (from innereye==0.0.1)