【问题标题】:Azure ML Studio Local Environment — Numpy package import failure using the Azure ML Python SDKAzure ML Studio 本地环境 - 使用 Azure ML Python SDK 导入 Numpy 包失败
【发布时间】:2021-11-24 08:26:47
【问题描述】:

我正在尝试使用 Python SDK 为 ML Studio 创建一个本地环境,如下 this official cheatsheet。结果应该是一个可以用于本地测试的类似 conda 的环境。但是,在使用 CondaDependencies() 类的 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 from ".azureml\envs\azureml_>\python.exe"
  • NumPy 版本为:“1.19.1”

并确保它们是您期望的版本。 请仔细阅读上面链接的文档以获得更多帮助。

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


系统规格:

  • 本地操作系统:Windows 10
  • ML 工作室操作系统:Linux Ubuntu 18
  • Python 版本:3.8

【问题讨论】:

    标签: python azure numpy azure-machine-learning-studio azureml-python-sdk


    【解决方案1】:

    我终于能够通过使用 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
    

    【讨论】:

      猜你喜欢
      • 2022-11-10
      • 2019-03-09
      • 2019-06-27
      • 1970-01-01
      • 2020-03-29
      • 1970-01-01
      • 1970-01-01
      • 2020-06-15
      • 1970-01-01
      相关资源
      最近更新 更多