基于深度学习的图像分类中代码的error

Image classifaction with deep learning

在本次的project中我利用NVIDIA DIGITS网页版深度学习框架实现深度神经网络的简单可视化训练和设计,但出现过很多error

1、搭环境问题

我在Ubuntu的系统下进行配置,安装cuda、cudnn、caffe及其相关依赖

错误一:

make all -j8出现错误

/usr/bin/ld: cannot find -lhdf5_hl

/usr/bin/ld: cannot find -lhdf5

collect2: error: ld returned 1 exit stat

改正方法是更改makefile

将LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_hl hdf更改为

LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial

错误二:

/sbin/ldconfig.real: /usr/lib/nvidia-375/libEGL.so.1 不是符号连接

/sbin/ldconfig.real: /usr/lib32/nvidia-375/libEGL.so.1 不是符号连接

错误原因系统找到的是符号连接而不是文件

错误三:

build_release/lib/libcaffe.so: undefined reference to google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(int, std::string const&, google::protobuf::io::CodedOutputSt

更改方法为设置环境变量:LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/:$LD_LIBRARY_PATH,将/usr/lib/x86_64-linux-gnu/放在最前面

2、DIGITS的使用

A、实验准确度太低:

原因是数据集过少,将数据集进行预处理,进行旋转对称操作,一幅图变4幅

B、创建数据库失败

应用create_lmdb.sh生成train和test两个不可读文件,创建lmdb数据库

C、过拟合问题

 

采用dropout方法。这个方法在神经网络里面很常用。dropout方法是ImageNet中提出的一种方法,通俗一点讲就是dropout方法在训练的时候让神经元以一定的概率不工作。

posted @ 2018-03-12 18:41  孙晴SQ  阅读(153)  评论(0编辑  收藏  举报