环境:CUDA 8.0、CUDnn7.0.5、OPENCV3.3.0
平台:Jetson TX2
1.首先从Github上下载源码
git clone https://github.com/hjimce/darknet_mobilenet.git
2.打开Makefile文件
将GPU、CUDNN、OPENCV都置1
出现问题:
cudnnSetConvolution2dDescriptor error: too few arguments in function call
函数缺少参数
解决办法:找到src中的depthwise_convolutional_layer.c文件,75行改为cudnnSetConvolution2dDescriptor(l->convDesc, l->pad, l->pad, l->stride, l->stride, 1, 1, CUDNN_CROSS_CORRELATION,CUDNN_DATA_FLOAT);即在函数最后添加一个参数:CUDNN_DATA_FLOAT
同样在src/convolutional_layer.c中的133行的最后也添加CUDNN_DATA_FLOAT参数。
然后
make clean
make -j8
依然出现问题,报错
obj/classifier.o: In function `gun_classifier':
classifier.c:(.text+0x37dc): undefined reference to `timersub'
解决方法:找到examples文件中的classifier.c文件,添加#include <sys/time.h>头文件
再次:
make clean
make -j8
成功!