我跟随CS231n并在执行任务时遇到问题2: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.
感谢您的时间。
答案 0 :(得分:4)
我想将我的输入添加为评论,但没有足够的声誉点来这样做。
当我关闭jupyter笔记本并再次打开它时,问题就解决了。我收到导入错误后编译了cython扩展,当.so文件可用时可能需要重新启动它。
答案 1 :(得分:1)
我通过2个简单的步骤解决了这个问题:
在终端中,在cs231n目录中运行python setup.py build_ext --inplace
。
然后重新打开笔记本电脑(如有必要,请关闭笔记本电脑,然后再次打开它);
注:我也使用!python ./cs231n/setup.py build_ext --inplace
通过笔记本进行了尝试。 它不起作用!您必须使用终端在笔记本电脑外部进行操作。
答案 2 :(得分:0)
从python 3开始支持。转到setup_googlecloud.sh并更改该行 virtualenv .env 至 virtualenv -p python3 .env并再次运行设置,如在assignment1设置中所述。 在那之后运作良好..
答案 3 :(得分:0)
这也发生在我身上。
我的问题:
我看到创建的扩展文件名为“ 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上运行的。
解决方案:
享受!