【问题标题】:Global name 'col2im_6d_cython' is not defined, CS231n全局名称“col2im_6d_cython”未定义,CS231n
【发布时间】:2016-08-17 09:53:48
【问题描述】:

我正在关注 CS231n,在做 assignment2 时遇到了一个问题:ConvolutionalNetworks: global name 'col2im_6d_cython' is not defined

我认为问题是由于从使用 cython 的 im2col_cython.pyx 导入函数失败所致。

我已经安装了Xcode 7.3.1,如下图,但是问题还是没有解决。

我正在从 Anaconda 在 Jupyter 中运行 ipynb 文件。有一个相关的discussion on reddit,但不幸的是这里的解决方案是针对Windows,而不是Mac OS X。

感谢您的宝贵时间。

【问题讨论】:

  • 通过卸载anaconda并安装最新版本的anaconda解决了问题。我想旧版本在处理 cython 时有问题。
  • 好消息,您解决了问题!只是一个提示以供将来参考 - 尝试在您的问题中粘贴实际代码而不是代码图像 - 谢谢!

标签: python-2.7 cython anaconda deep-learning jupyter


【解决方案1】:

我想将我的输入添加为评论,但没有足够的声望点来执行此操作。

当我关闭 jupyter notebook 并再次打开它时,问题就解决了。我在收到导入错误后编译了 cython 扩展名,并且可能必须在 .so 文件可用时重新启动它。

【讨论】:

    【解决方案2】:

    我通过两个简单的步骤解决了这个问题:

    1. 在终端中,运行cs231n目录下的python setup.py build_ext --inplace

    2. 然后重新打开笔记本(必要时关闭笔记本,再打开);


    Ps.:我也使用!python ./cs231n/setup.py build_ext --inplace 在笔记本上进行了尝试。 它不起作用!你必须在笔记本之外,使用终端。

    【讨论】:

      【解决方案3】:

      我最近遇到了这个问题。我用谷歌搜索了很多,还尝试取消/重新安装 Anaconda。但是,它确实可以进一步发挥作用。所以我用“which python”来确定哪个python一直在使用。事实证明,Anakonda 目录中包含的 python 是默认使用的。然后我在位于 /usr/bin/python2.7 的 macOS 中尝试了 python2.7。虽然我收到了一些警告,但现在它就像魅力一样起作用。也许这是一种版本问题。已在 macOS Sierra 10.12.4 中解决。

      我比较了两个编译结果,因为它表明包含文件完全不同。 Anaconda 中的那个包含了python3.6 中的所有头文件。相反,我们需要python2.7中的相应头文件(我想)。正如红色圆圈所指出的那样。

      enter image description here

      【讨论】:

        【解决方案4】:

        从 python 3 开始支持。转到 setup_googlecloud.sh 并更改行 虚拟环境 .env 到 virtualenv -p python3 .env 并按照 assignment1 setup.. 中的说明再次运行设置。 之后效果很好..

        【讨论】:

          【解决方案5】:

          我也想到了。

          我的问题:

          我看到创建的扩展文件被命名为“im2col_cython.cp37-win_amd64.pyd”并且导入正在寻找im2col_cython,所以我将文件名更改为“im2col_cython.pyd”并再次运行设置脚本. 现在,当我在笔记本中运行代码时,它找到了模块,但它说 dll 是用不同的 python 版本编译的。我使用 Anaconda envs,事实证明,由于我从 cmd 运行安装脚本,它使用了与环境不同的 python 版本。我从 cs231n 目录(im2col_cython.cp37-win_amd64.pyd 和 im2col_cython.c)中删除了创建的文件,然后再次运行安装脚本,这次是从 env Anaconda Prompt 运行的。

          解决方案:

          • 删除已创建的文件(.c 和 .pyd 文件)
          • 运行安装程序 来自环境提示的脚本(不是普通的 cmd)
          • 更改 .pyd 文件名放入 im2col_cython.pyd

          享受吧!

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2018-05-04
            • 2015-12-22
            • 2014-04-18
            • 2015-08-08
            • 2011-04-27
            • 2013-09-04
            • 2015-02-26
            • 2016-09-11
            相关资源
            最近更新 更多