AffordaceNet属性学习网络复现问题总结

1、在编译代码网络下的caffe时,要注意是在root权限还是用户权限下,需要在同一权限下执行caffe编译和训练网络。推荐在root目录下执行

2、在运行测试网络时,使用的python路径为代码路径下编译好的caffe。不需要写其他版本caffe的python路径

export PYTHONPATH=/home/qxn/AffordanceNet_ROOTV1/caffe-affordance-net/python:$PYTHONPATH

3、在python环境下确保import caffe不会出错之后再去运行训练命令

4、训练命令示例:

./experiments/scripts/faster_rcnn_end2end.sh 0 VGG16 pascal_voc

5、在系统使用多个python版本时,要确定自己编译caffe的python版本与运行训练命令的版本一致,训练命令可以用以下命令替代,从而指定python版本。

我编译caffe用的是Python3.8,系统自带Python2.7。系统默认python版本也是2.7,但是我编译是在python3下编译的,所以解决方法有两种,第一,使用下面的代码直接指定python版本。

python3 train_net.py --gpu 0 --solver /home/qxn/AffordanceNet_ROOTV1/models/pascal_voc/VGG16/faster_rcnn_end2end/solver.prototxt --weights /home/qxn/AffordanceNet_ROOTV1/data/imagenet_models/VGG16.v2.caffemodel --imdb voc_2012_train --iters 200000 --cfg /home/qxn/AffordanceNet_ROOTV1/experiments/cfgs/faster_rcnn_end2end.yml

第二,修改系统默认python版本,命令如下:

sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100

 sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150

此命令的作用在于设置Python3的优先级大于Python2.

6、查看调用python的路径

python
import sys
sys.path

注意在sudo下和普通用户下,二者输出一样。

7、注意/etc/profile下关于Python的变量与~/.bashrc下Python的变量一致,最好不要将Python的变量加到profile下。

8、出现cudnn(4 vs 0)的问题,首先确认是否是显存爆了,如果没有,在root下执行训练命令,如果依然出错表示不是权限的问题,可能是cuda和cudnn版本过高,与代码不匹配的问题,可以尝试以下CUDA9

你可能感兴趣的:(属性学习,caffe,深度学习)