【问题标题】:Error importing theano "cannot import name gof"导入 theano 时出错“无法导入名称 gof”
【发布时间】:2015-10-05 07:21:30
【问题描述】:

我目前遇到错误

ImportError: 无法导入名称 gof

在导入 theano 时。

>>> import theano

Traceback (most recent call last):
  File "<pyshell#3>", line 1, in <module>
    import theano
  File "C:\Python27\lib\site-packages\theano\__init__.py", line 63, in <module>
    from theano.compile import (
  File "C:\Python27\lib\site-packages\theano\compile\__init__.py", line 9, in <module>
    from theano.compile.function_module import *
  File "C:\Python27\lib\site-packages\theano\compile\function_module.py", line 16, in <module>
    from theano import gof
ImportError: cannot import name gof

我使用的是python 2.7.10()。 Theano 是使用pip install --upgrade --no-deps git+git://github.com/Theano/Theano.git 安装的。 希望得到你的建议来解决这个问题

【问题讨论】:

标签: python-2.7 theano


【解决方案1】:

大多数时候,当我看到这个错误时,它是由这两个错误引起的:

1) Theano 中的语法错误。更新 Theano 并确保没有本地修改。我在 Theano 的主人身上看到了这个错误,但以防万一。

2) 当安装了多个版本的 Theano 时。

在这两种情况下,删除所有版本的 Theano。多次执行以确保没有剩余。然后重新安装。

从记忆中,当它不是开发过程中的语法错误时(但不是在您使用的 Theano 的主版本中),这总是解决问题

【讨论】:

    【解决方案2】:

    这个ImportError 可能是因为Theano 是unable to compile the gof module itself。如果是这种情况,您将看到一条类似于“Exception: Compilation Failed (return status=1): C:\Long\Path\...\mod.cpp:1: sorry, unimplemented: 64-bit mode not compiled in”的错误消息。

    使用 Conda 修复

    如果您要将theano 安装到conda 环境中,请确保您有适用于该环境的C 编译器。

    命令

    conda install m2w64-toolchain
    

    将为您的环境提供与机器其他部分隔离的 C 编译器。

    m2w64-toolchain 包安装后,import theano 应该可以工作了

    手动修复

    如果您自己安装 Theano,thesethreads 的两点可能会有所帮助:

    【讨论】:

      【解决方案3】:

      我假设您使用的是 Windows 7 或更高版本。

      如果您已安装 Python Anaconda,请打开 Windows Powershell 或命令提示符并输入 conda install mingw libpython,然后再输入 pip install theano

      或者,如果您没有 Anaconda,请从

      下载这些软件包

      然后打开命令提示符,导航到每个文件夹并输入python setup.py install

      现在运行 Python 和 import theano

      可能的错误:

      如果你得到 RuntimeError: "To use MKL 2018 with Theano you MUST set "MKL_THREADING_LAYER=GNU" in your environement" 那么

      1. 进入控制面板 > 系统 > 高级系统设置并选择“环境变量”。

      2. 在“系统变量”部分,新建一个变量名MKL_THREADING_LAYER,并将其值设置为GPU

      如果您遇到其他类型的错误,请尝试以下操作:

      1. 在您的主文件夹 C:\Users\ 中创建一个名为 .theanorc 的空文件(没有文件名的文件扩展名)。如果您收到错误“您必须输入文件名”,请查看 stackoverflow.com/q/5004633

      2. 打开.theanorc 并写下:

        [global]
        cxx=C:\<path to Anaconda>\Anaconda3\MinGW\bin\g++.exe
        
      3. 再次运行 Python 并导入 theano。如果可行,那么您可能可以删除.theanorc

      【讨论】:

        【解决方案4】:

        就我而言,解决方法是安装一个可作为共享库调用的 python 构建:

        PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install 2.7.15
        

        【讨论】:

          猜你喜欢
          • 2017-04-02
          • 1970-01-01
          • 2017-11-10
          • 2017-05-01
          • 1970-01-01
          • 2019-02-01
          • 1970-01-01
          • 2020-01-19
          • 2022-01-21
          相关资源
          最近更新 更多