报错no module named utils.cython_bbox (win10+tensorflow+python3.6)
win10下解决报错no module named utils.cython_bbox问题
这个问题困扰了我很多天,今天终于跑通了,记录一下。
(我跑的是S4Net的代码,里面的几个关键文件和faster-rcnn的差不多,我搜索到的解决方法等也都是基于faster-rcnn的代码的,不过基于这些方法最后我的问题也能够得到解决。)
一开始搜索并尝试了很多其他的方法,最后都没有解决问题。看到有博主说和python的版本有关,我原本下载的代码里是只有支持python34或python35的.so文件的,需要自己修改setup.py后进行编译,生成能够支持python36的文件。
编译过程依然会遇到很多报错。最后找到一位博主编译好的文件:
https://blog.csdn.net/u013837919/article/details/86743105
下载后把文件复制到对应文件夹下(就是和上面的.so同一个文件夹),重点是下面这两个文件:
然后再次运行代码,依然会报错:
no module named utils.cython_bbox
原因是复制过来的文件名为bbox而非cython_bbox
解决:
直接把bbox.cp36-win_amd64的文件名改为cython_bbox.cp36-win_amd64,依然会有报错。
换个方法:撤销了重命名操作后,把所有代码里的utils.cython_bbox 改为 utils.bbox,再次运行不再报错。
(补充一个后续的问题:)
后续在引用与训练权重时报错:
Unsuccessful TensorSliceReader constructor: Failed to get matching files on …/logs/pretrained_weights/iter_40000.ckpt: Not found: FindFirstFile failed for: …/logs/pretrained_weights : 系统找不到指定的路径。
; No such process
解决方法:
https://blog.csdn.net/tuoyakan9097/article/details/80888167
即修改为:
(最后应该是我自己的代码的一个小问题:
我的预训练权重放在logs/pretrained_weights文件夹下,代码中原本写的路径是" . ./logs/pretrained_weights",修改为完整的路径后,代码成功跑通。)
来源:CSDN
作者:winewinee
链接:https://blog.csdn.net/qq_40650281/article/details/103455268