更改Makefile
GPU=1 #是否需要用GPU
CUDNN=1 #是否需要用CUDNN,这是NVIDIA做的一些优化,实际上就是一些库文件,优化一些常用的矩阵操作
OPENCV=1 #用来对图片进行操作,打开,画图等等,如果你不用的话,,在测试时就不会有直接显示图片的效果
OPENMP=0 #CPU的多线程
#Arch GPU的架构版本
ARCH= -gencode arch=compute_20,code=[sm_20,sm_21] \# Fermi 架构 常见 gtx480 gtx580
-gencode arch=compute_30,code=sm_30 \# Kepler 架构 常见 gtx680
-gencode arch=compute_35,code=sm_35 \# Kepler 架构 常见 gtx780
-gencode arch=compute_50,code=[sm_50,compute_50] \# Maxwell 架构 常见 gtx750Ti gtx8 到9 系列 M
-gencode arch=compute_52,code=[sm_52,compute_52]# Maxwell 架构 常见 gtx8 到9 系列
-gencode arch=compute_61,code=[sm_61,compute_61]# Pascal 架构 常见 gtx 10系列
-gencode arch=compute_70,code=[sm_70,compute_70]# Volta 架构 这个不常见,用作超算或者数据中心
#高版本code不能在低版本的卡上跑,架构不同的其特性也有差距,所以尽量查一下你的显卡是在那个计算能力上的
注意两个问题,第一是上面把GPU,CUDNN,OPENCV这些都设为1,因为是做目标检测所以这些都要用到,另外要查实验机器对应的GPU型号,比如我用1080Ti所以只要-gencode arch=compute_61,code=[sm_61,compute_61] 这一行,其他的都注释掉。改好配置文件以后在执行make 。
这样框架基本就搭建好了,感觉搭建框架最麻烦的就是相关依赖的安装,没有安装好依赖编译就会不通过。
很有用