Azure ML Studio 本地环境——使用 Azure ML Python SDK 导入 Numpy 包失败
Azure ML Studio Local Environment — Numpy package import failure using the Azure ML Python SDK
我正在尝试使用 Python SDK 为 ML Studio 创建一个本地环境,如下所示
this official cheatsheet。结果应该是一个类似 conda 的环境,可用于本地测试。但是,在使用 CondaDependencies()
class 的 add_conda_package()
方法导入 Numpy 包时,我 运行 出错了。我尝试不指定以及指定包版本的地方,例如:
add_conda_package('numpy')
或 add_conda_package('numpy=1.21.2')
,但似乎没有什么区别。
Numpy 的错误消息非常多,我已经尝试了很多建议,但都没有成功。我很感谢任何可能解决我的问题的提示!
完整代码
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
详细错误信息:
用户程序因 ImportError 失败:
重要提示:请阅读本文以获取有关如何解决此问题的建议!
导入 numpy C 扩展失败。此错误可能发生在
很多原因,通常是由于您的设置问题或 NumPy 的运行方式
安装。
我们在以下位置整理了一些常见原因和故障排除提示:
https://numpy.org/devdocs/user/troubleshooting-importerror.html
请注意并检查以下内容:
- Python 版本是:Python3.8 来自“
.azureml\envs\azureml_>\python.exe”
- NumPy 版本为:“1.19.1”
并确保它们是您期望的版本。
请仔细研究上面链接的文档以获得进一步的帮助。
原始错误是:导入时 DLL 加载失败_multiarray_umath:找不到指定的模块。
系统规格:
- 本地 OS: Windows 10
- ML 工作室 OS: Linux Ubuntu 18
- Python版本:3.8
我终于能够通过使用 pip 方法而不是 conda 方法来解决问题:
add_pip_package('numpy')
而不是 add_conda_package('numpy')
我可以想象这也是其他软件包的原因。
完整解决方案
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
我正在尝试使用 Python SDK 为 ML Studio 创建一个本地环境,如下所示
this official cheatsheet。结果应该是一个类似 conda 的环境,可用于本地测试。但是,在使用 CondaDependencies()
class 的 add_conda_package()
方法导入 Numpy 包时,我 运行 出错了。我尝试不指定以及指定包版本的地方,例如:
add_conda_package('numpy')
或 add_conda_package('numpy=1.21.2')
,但似乎没有什么区别。
Numpy 的错误消息非常多,我已经尝试了很多建议,但都没有成功。我很感谢任何可能解决我的问题的提示!
完整代码
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
详细错误信息:
用户程序因 ImportError 失败:
重要提示:请阅读本文以获取有关如何解决此问题的建议!
导入 numpy C 扩展失败。此错误可能发生在 很多原因,通常是由于您的设置问题或 NumPy 的运行方式 安装。
我们在以下位置整理了一些常见原因和故障排除提示:
https://numpy.org/devdocs/user/troubleshooting-importerror.html
请注意并检查以下内容:
- Python 版本是:Python3.8 来自“
.azureml\envs\azureml_>\python.exe” - NumPy 版本为:“1.19.1”
并确保它们是您期望的版本。 请仔细研究上面链接的文档以获得进一步的帮助。
原始错误是:导入时 DLL 加载失败_multiarray_umath:找不到指定的模块。
系统规格:
- 本地 OS: Windows 10
- ML 工作室 OS: Linux Ubuntu 18
- Python版本:3.8
我终于能够通过使用 pip 方法而不是 conda 方法来解决问题:
add_pip_package('numpy')
而不是 add_conda_package('numpy')
我可以想象这也是其他软件包的原因。
完整解决方案
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