在caffe中调用python层的问题和解决方案

之前很早以前在caffe中用过python写的loss layer,很久不用后在新的服务器上使用就各种“No module named WeightedEuclideanLossLayer2”(注:WeightedEuclideanLossLayer2.py是我的loss层 )这个问题的解决分成两大块。

1 就WeightedEuclideanLossLayer2.py文件而言

因为说“No module named WeightedEuclideanLossLayer2”所以我就一直在py文件上下功夫

Step1 make clean; make all -j8; make matcaffe -j8; make pycaffe -j8 这些个命令重头到尾执行一遍。(我以为这样就可以实现在python中import caffe了。然而并不是.....所以给后面埋了一个雷)

Step2 将WeightedEuclideanLossLayer2.py文件放到caffe中python的目录下(因为不确定还要不要放到python的子文件夹caffe/python/caffe中,因此又拷贝了一份)。同时要讲文件中sys.path.append('c:/xxxx/b.py') 对应的路径改了。

Step3 run train,然后还是报错“No module named WeightedEuclideanLossLayer2”。晕,心想着是不是还有哪里忘记拷贝文件了,就一通搜。网上说在python的系统目录下(、usr/local/lib/python2.7)要有调用的文件。可是因为权限问题,没办法复制文件过去,我查了jiao的服务器,系统目录下也没有这个文件。我对比两个服务器的caffe/python目录,发现我的服务器里没有WeightedEuclideanLossLayer2.pyc这个文件,心想着是不是这样才导致找不到module。结果手动从jiao的服务器里拷贝该文件进来也还是不行。最后像网上说的在python下import WeightedEuclideanLossLayer2看能不能找到。


结果还是不行。后来我试着import python文件夹中自带的一些py文件看行不行结果就行了。(ps:图中的pyc文件是从jiao的服务器里直接拷贝过来的,不是新生成的。)


这样就好了,会发现WeightedEuclideanLossLayer2.pyc就是新生成的了。然而这样还是不能运行caffe train。又开始在网上各种搜,反正一下午就干这事了.....

有人说要写 export $PYTHONPATH=./path/to/caffe-sl-master/python:$PYTHONPATH 。但是我又不知道在哪写。无论是在caffe目录下写还是根目录下写都不对。


都快疯了.....

2 import caffe

后来鬼使神差地在python 下试了试“import caffe”结果意外地发现结果竟然是


惊不惊喜、意不意外、喜不喜欢???!!!我以外make pycaffe后自然就可以实现import caffe了......为了解决这个问题,有搜到:在caffe目录下 ~/.bashrc文件最后添加 export PYTHONPATH=~/caffe/python:$PYTHONPATH

最好是完整的路径/home...(你的caffe路径)/caffe/python

具体操作是:


vim打开文件后按“I”(insert)对文件进行编辑,即在文件末尾处加上“export PYTHONPATH=/home/jiao/caffe-sl-master/python:$PYTHONPATH

export LD_PRELOAD=/usr/lib/gcc/x86_64-linux-gnu/4.8/libgomp.so”这两行命令,然后按“Esc”推出编辑,按“:wq”保存并退出。

记住之后一定还要“source ~/.bashrc”使环境变量生效。最后就好了。

但是,当我运行caffe train时依旧是报错。原来是要关掉原先的terminal,重新开启后就可以了。问题总算是解决了。。。。。


参考帖子:http://blog.csdn.net/u010417185/article/details/53559107 (真正解决问题的)

http://blog.csdn.net/qq_36259240/article/details/77946409 (差点被误导的)

http://blog.csdn.net/striker_v/article/details/51596628 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值