AffordanceNet网络踩坑记录(四)

目录

1、下载源码

2、安装依赖

3、编译caffe-affordance-net

4、编译lib

 5、运行demo

6、训练


我的显卡是RTX3080,30系列的显卡只支持CUDA11及以上版本,只有Ubuntu20才能安装CUDA11。由于显卡算力太高,即使安装CUDA9和Ubuntu16也无法匹配,会出现cudnn(4 vs 0)或者(8 vs 0)的问题。所以我把显卡换成了1080Ti,系统为Ubuntu16,CUDA9.0,cudnn7.0.5,Python2.7.然后再进行编译,可以训练。

1、下载源码

AffordanceNet代码github地址为GitHub - nqanh/affordance-net: AffordanceNet - Multiclass Instance Segmentation Framework - ICRA 2018将代码下载下载下来之后,将根目录命名为AffordanceNetRoot

cd AffordanceNetRoot
cd caffe-affordance-net

 

2、安装依赖

安装caffe的依赖库,如果不是在root权限下,则需要在下面的每个命令前加上sudo

apt install -y libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
apt install -y --no-install-recommends libboost-all-dev
apt install -y libatlas-base-dev
apt install -y libgflags-dev libgoogle-glog-dev liblmdb-dev

3、编译caffe-affordance-net

这是根据caffe源码改的,与编译caffe流程基本一致,但仍然在此列出来。

  • 复制makefile.config文件
  • cp Makefile.config.example Makefile.config
  • 我是使用gpu加速,所以要去掉USE_CUDNN := 1的注释。
  • 去掉OPENCV_VERSION := 3的注释,我的opencv版本为3.4.5.
  • 注释掉下面代码段的前两行,

CUDA_ARCH := #-gencode arch=compute_20,code=sm_20 \
	#	-gencode arch=compute_20,code=sm_21 \
		-gencode arch=compute_30,code=sm_30 \
		-gencode arch=compute_35,code=sm_35 \
		-gencode arch=compute_50,code=sm_50 \
		-gencode arch=compute_52,code=sm_52 \
		-gencode arch=compute_60,code=sm_60 \
		-gencode arch=compute_61,code=sm_61 \
		-gencode arch=compute_61,code=compute_61
  •  去掉WITH_PYTHON_LAYER := 1的注释
  • 更改以下代码。
PYTHON_LIBRARIES := boost_python python2.7
 PYTHON_INCLUDE := /usr/include/python2.7 \
                 /usr/lib/python2.7/dist-packages/numpy/core/include
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial 
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/hdf5/serial
make -j36 #如果电脑核数更多,可以使用更多核数
make pycaffe

添加环境变量

 

sudo gedit~/.bashrc
export PYTHONPATH=/home/qxn/AffordanceNetRoot/caffe-affordance-net/python:$PYTHONPATH #添加环境变量
#保存并关闭bashrc文件
source ~/.bashrc#使环境变量生效

验证是否成功,如图所示,即为成功。

4、编译lib

cd AffordanceNetRoot/lib
make

 5、运行demo

python /tools/demo_img.py

6、训练

在训练过程中,出现问题

/home/qxn/AffordanceNetRootv1/tools/../lib/fast_rcnn/bbox_transform.py:49: RuntimeWarning: overflow encountered in exp
  pred_h = np.exp(dh) * heights[:, np.newaxis]
/home/qxn/AffordanceNetRootv1/tools/../lib/fast_rcnn/bbox_transform.py:49: RuntimeWarning: overflow encountered in multiply
  pred_h = np.exp(dh) * heights[:, np.newaxis]
/home/qxn/AffordanceNetRootv1/tools/../lib/fast_rcnn/bbox_transform.py:48: RuntimeWarning: overflow encountered in exp
  pred_w = np.exp(dw) * widths[:, np.newaxis]
/home/qxn/AffordanceNetRootv1/tools/../lib/fast_rcnn/bbox_transform.py:48: RuntimeWarning: overflow encountered in multiply
  pred_w = np.exp(dw) * widths[:, np.newaxis]
I1215 21:00:21.940760 19779 solver.cpp:229] Iteration 60, loss = nan

lib/setup.py的-arch=sm_61,因为1080Ti的算力为6.1,所以改为sm_61.

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值