我不确定这个问题的标题是否正确,mods请随时更改。
我正在通过cs231n进行视觉识别的卷积神经网络课程,我遇到了一个奇怪的错误。这是我对任何真正的Python编程的第一次尝试,因此它可能是一个简单的错误,或者更复杂的东西。
我使用的是Python 2.7,Anaconda和Windows 7。
尝试运行脚本时出现以下错误;
NameError: global name 'im2col_cython' is not defined
到目前为止,我的理解是发生了这种情况,因为它失败了(并调用异常);
try:
from cs231n.im2col_cython import col2im_cython, im2col_cython
from cs231n.im2col_cython import col2im_6d_cython
except ImportError:
print 'run the following from the cs231n directory and try again:'
print 'python setup.py build_ext --inplace'
print 'You may also need to restart your iPython kernel'
我试图弄清楚为什么会出现这种情况。首先,我必须运行setup.py将im2col_cython.pyx转换为其他文件。这似乎已经开始,但在某一点上确实有警告;
warning: extension name 'im2col_cython' does not match fully qualified name 'cs231n.im2col_cython' of 'im2col_cython.pyx'
我在这里想到的是,我的文件夹树看起来像这样的事实是一个问题; 作业2 - > cs231n
在cs231n里面是setup.py和im2col_cython.pyx文件所在的位置。我安装了cython,安装了python2.7的vc。当我运行setup.py时会创建2个新文件;
im2col_cython.c
im2col_cython.pyd
但我不知道这是不是意味着做什么或者其他什么。我已经掌握了这个(0 Python知识),但我很想学习!
编辑1 导入im2col_cython的脚本是here
im2col_cython文件为here
编辑2
在例外条款中包含以下内容时;
import traceback; traceback.print_exc()
我得到了这个输出;
Traceback (most recent call last):
File "fast_layers.py", line 3, in <module>
from cs231n.im2col_cython import col2im_cython, im2col_cython
ImportError: No module named cs231n.im2col_cython
答案 0 :(得分:0)
在fast_layer.py
:
import cs231n.im2col_cython
中添加此内容
import pyximport
pyximport.install()
你提到的问题应该修复。