I am trying to create a local environment for the ML Studio using the Python SDK, following this official cheatsheet . The result should be a conda-like environment that can be used for local testing. However, I am running into an error when importing the Numpy package with the add_conda_package()
method of the CondaDependencies()
class. Where I've tried not specifying, as well as specifying package versions, like: add_conda_package('numpy')
or add_conda_package('numpy=1.21.2')
, but it does not seem to make a difference.
Numpy's error message is extensive, and I've tried many of the suggestions, without success nonetheless. I'm grateful for any tips on what might resolve my issues!
from azureml.core import Environment
from azureml.core.conda_dependencies import CondaDependencies
def get_env() -> Environment:
conda = CondaDependencies()
# add channels
conda.add_channel('defaults')
conda.add_channel('conda-forge')
conda.add_channel('pytorch')
# Python
conda.add_conda_package('python=3.8')
# Other conda packages
conda.add_conda_package('cudatoolkit=11.3')
conda.add_conda_package('pip')
conda.add_conda_package('python-dateutil')
conda.add_conda_package('python-dotenv')
conda.add_conda_package('pytorch=1.10')
conda.add_conda_package('torchaudio')
conda.add_conda_package('torchvision')
conda.add_conda_package('wheel')
conda.add_conda_package('numpy=1.21.2') # <--- Error with this import
# create environment
env = Environment('test_env')
env.python.conda_dependencies = conda
return env
User program failed with ImportError:
IMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE!
Importing the numpy C-extensions failed. This error can happen for many reasons, often due to issues with your setup or how NumPy was installed.
We have compiled some common reasons and troubleshooting tips at:
https://numpy.org/devdocs/user/troubleshooting-importerror.html
Please note and check the following:
and make sure that they are the versions you expect. Please carefully study the documentation linked above for further help.
Original error was: DLL load failed while importing _multiarray_umath: The specified module could not be found.
I was finally able to resolve the issue by using the pip method instead of the conda method: add_pip_package('numpy')
instead of add_conda_package('numpy')
I can imagine this being the reason for other packages as well.
from azureml.core import Environment
from azureml.core.conda_dependencies import CondaDependencies
def get_env() -> Environment:
conda = CondaDependencies()
# add channels
conda.add_channel('defaults')
conda.add_channel('conda-forge')
conda.add_channel('pytorch')
# Python
conda.add_conda_package('python=3.8')
# Other conda packages
conda.add_conda_package('cudatoolkit=11.3')
conda.add_conda_package('pip')
conda.add_conda_package('python-dateutil')
conda.add_conda_package('python-dotenv')
conda.add_conda_package('pytorch=1.10')
conda.add_conda_package('torchaudio')
conda.add_conda_package('torchvision')
conda.add_conda_package('wheel')
#conda.add_conda_package('numpy=1.21.2') # <--- Error with this import
# Add pip packages
conda.add_pip_package('numpy') # <--- Fixes import error
# create environment
env = Environment('test_env')
env.python.conda_dependencies = conda
return env
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.