0

我正在尝试使用 Python SDK 为 ML Studio 创建一个本地环境,遵循 这个官方备忘单。结果应该是一个可以用于本地测试的类似 conda 的环境。但是,我在使用类的add_conda_package()方法导入 Numpy 包时遇到了错误CondaDependencies()。我尝试不指定以及指定包版本的地方,例如: 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 from "<LOCAL_DIR>.azureml\envs\azureml_>\python.exe"
  • NumPy 版本是:“1.19.1”

并确保它们是您期望的版本。请仔细研究上面链接的文档以获得进一步的帮助。

原始错误是:导入 _multiarray_umath 时 DLL 加载失败:找不到指定的模块。


系统规格:

  • 本地操作系统:Windows 10
  • 机器学习工作室操作系统:Linux Ubuntu 18
  • Python版本:3.8
4

1 回答 1

0

我终于能够通过使用 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
于 2021-11-24T08:37:13.890 回答