在demo.py中用sys.path输出看到,PYTHONPATH中有lib文件夹。
所以说在lib里直接定义的new_layer.py文件是可以被找到的。
如果在lib中新建文件夹A,再在A中定义new_layer.py文件就不能被直接找到了,如果要找到,需要去修改下脚本文件。
比如说我现在要执行./experiments/scripts/faster_rcnn_end2end.sh 0 VGG16 pascal_voc的话,就去faster_rcnn_end2end.sh文件中,加上:
export PYTHONPATH=$PYTHONPATH:lib/A
也就是把lib/A添加到PYTHONPATH中了,现在再在models/pascal_voc/VGG16/faster_rcnn_end2end/train.prototxt里面加上这个用python写的caffe层就没有问题了,不会找不到了:
layer {
name: '***'
type: 'Python'
bottom: '**'
top: '**'
python_param {
module: 'new_layer' #不需要.py后缀哦
layer: 'NewLayer' #文件中的类名
}
}
网友评论