Caffe의 일반적인 오류 및 해결 방법

make-j8 & &makepycaffe로 현재 문제가 있는지 확인할 수 있습니다. 1:/usr/bin/ld: cannot find -lopencv_imgcodecs /usr/bin/ld: cannot find -lopencv_videoio collect2: error: ld returned 1 exit status Makefile:566: recipe for target ‘.build_release/lib/libcaffe.so.1.0.0-rc3’ failed make: * [.build_release/lib/libcaffe.so.1.0.0-rc3] Error 1
해결 방법:
CXX src/caffe/solver.cpp AR -o .build_release/lib/libcaffe.a LD -o .build_release/lib/libcaffe.so.1.0.0-rc3 /usr/bin/ld: cannot find -lhdf5_hl /usr/bin/ld: cannot find -lhdf5 collect2: error: ld returned 1 exit status Makefile:566: recipe for target ‘.build_release/lib/libcaffe.so.1.0.0-rc3’ failed
make: * [.build_release/lib/libcaffe.so.1.0.0-rc3] Error 1
참조:http://blog.csdn.net/oyjxer/article/details/51824254설치하고 Makefile 파일 수정 (아니오) Makefile.config 안에 있는 LIBRARIES +=glog gflags protobuf boost_system boost_filesystem m hdf5_hl hdf5
LIBRARIES +=glog gflags protobuf boost_로 변경system boost_filesystem m hdf5_serial_hl hdf5_serial
그러나 주의, 여기는 cannot find의 내용이 다르기 때문에 이렇게 고치는 것은 틀린 것이다.이 부분을 건드릴 필요가 없다.2. 이어서 make-j8 & & make pycaffe(여기는make clean이 없습니다) 그리고 위의 오류를 보고합니다.LD -o .build_release/lib/libcaffe.so.1.0.0-rc3 /usr/bin/ld: cannot find -lopencv_imgcodecs /usr/bin/ld: cannot find -lopencv_videoio collect2: error: ld returned 1 exit status Makefile:566: recipe for target ‘.build_release/lib/libcaffe.so.1.0.0-rc3'failed make: * [.build_release/lib/libcaffe.so.1.0-rc3] Error 1은 실제로opencv의 문제입니다.해결 방법:opencv 설치
sudo apt install git
git clone https://github.com/jayrambhia/Install-OpenCV
cd Install-OpenCV/Ubuntu/
chmod +x *
./opencv_latest.sh

3. make-j8 & & make pycaffe 정확한 상황은:
LD -o .build_release/lib/libcaffe.so.1.0.0-rc3 CXX/LD -o .build_release/tools/train_net.bin CXX/LD -o .build_release/tools/net_speed_benchmark.bin CXX/LD -o .build_release/tools/create_label_map.bin CXX/LD -o .build_release/tools/convert_annoset.bin CXX/LD -o .build_release/tools/finetune_net.bin CXX/LD -o .build_release/tools/upgrade_solver_proto_text.bin CXX/LD -o .build_release/tools/extract_features.bin CXX/LD -o .build_release/tools/caffe.bin CXX/LD -o .build_release/tools/compute_image_mean.bin CXX/LD -o .build_release/tools/test_net.bin CXX/LD -o .build_release/tools/convert_imageset.bin CXX/LD -o .build_release/tools/get_image_size.bin CXX/LD -o .build_release/tools/device_query.bin CXX/LD -o .build_release/tools/upgrade_net_proto_binary.bin CXX/LD -o .build_release/tools/upgrade_net_proto_text.bin CXX/LD -o .build_release/examples/siamese/convert_mnist_siamese_data.bin CXX/LD -o .build_release/examples/ssd/ssd_detect.bin CXX/LD -o .build_release/examples/cifar10/convert_cifar_data.bin CXX/LD -o .build_release/examples/mnist/convert_mnist_data.bin CXX/LD -o .build_release/examples/cpp_classification/classification.bin CXX/LD -o python/caffe/_caffe.so python/caffe/_caffe.cpp touch python/caffe/proto/init.py PROTOC (python) src/caffe/proto/caffe.proto
make pycaffe를 다시 실행할 때:make: Nothing to be done for'pycaffe'가 표시됩니다.문제가 없다는 것을 증명하다.bash ./data/mnist/get_mnist.sh 정상./examples/mnist/create_mnist.sh 정상./examples/mnist/train_lenet_adam.sh에서 이 명령을 실행하는 중 오류가 발생했습니다.E0302 13:16:16.531128 6895 common.cpp:113] Cannot create Cublas handle. Cublas won’t be available. F0302 13:16:18.103356 6887 cudnn_conv_layer.cpp:53] Check failed: status == **CUDNN**_STATUS_SUCCESS (4 vs. 0) CUDNN_STATUS_INTERNAL_ERROR
./examples/mnist/train_lenet.sh 이 명령을 실행할 때 똑같이 오류가 발생했습니다.E0302 13:16:26.964674 6908 common.cpp:113] Cannot create Cublas handle. Cublas won’t be available. F0302 13:16:27.254376 6900 cudnn_conv_layer.cpp:53] Check failed: status == **CUDNN**_STATUS_SUCCESS (4 vs. 0) CUDNN_STATUS_INTERNAL_ERROR 이때 make-j8 & & make pycaffe 표시: make: Nothing to be done for'all'.make: Nothing to be done for ‘pycaffe’. 컴파일이 통과되었군요. 이게 어떻게 된 일입니까?그래, Makefile에서.config 파일에서 cudnn을 끄고make clean을 다시 했습니다.make-j8 & & make pycaffe OK, 그래, 정상적으로 실행, 표시: touch python/caffe/proto/init.py PROTOC (python) src/caffe/proto/caffe.proto 재실행./examples/mnist/train_lenet.sh 이번 오류는: F0302 13:23:22.64, 2010 18584 math_functions.cu:26] Check failed: status == CUBLAS_STATUS_SUCCESS (1 vs. 0) CUBLAS_STATUS_NOT_INITIALIZED 그래, 쿠다가 문제일 수도 있어.cuda 설치
#  : , yes 。
sudo sh cuda_8.0.44_linux.run --no-opengl-libs

reboot

#  
sudo gedit ~/.bashrc 
export PATH=/usr/local/cuda-8.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
source ~/.bashrc 

검증 cuda
cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery

CUDNN을 설치하고 Makefile을 만듭니다.config의 스위치 켜기: USE_CUDNN := 1
 cudnn, /usr/local :
sudo cp /home/qi/cudnn-8.0-linux-x64-v5.0-ga.tgz /usr/local
 , :
sudo tar -zxvf cudnn-8.0-linux-x64-v5.0-ga.tgz 
 , :
sudo cp cuda/include/cudnn.h /usr/local/cuda/include/
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/
sudo chmod a+r /usr/local/cuda/include/cudnn.h
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

오.
make clean
make -j8 && make pycaffe

./examples/mnist/train_lenet.sh 그리고 여전히 표시: E0302 13:43:02.388759 30003 common.cpp:113] Cannot create Cublas handle. Cublas won’t be available. F0302 13:43:02.431520 29995 cudnn_conv_layer.cpp:53] Check failed: status == CUDNN_STATUS_SUCCESS (4 vs. 0) CUDNN_STATUS_INTERNAL_ERROR 솔루션: Sudo 추가
sudo ./examples/mnist/train_lenet.sh

운행이 마침내 정상으로 되었다.sudo를 하나 더 시도해 보세요./examples/mnist/train_lenet_adam.슈 정상이 드디어 다 담았어~
몇 가지 명령이 있습니다: anaconda 제거
rm -rf anaconda2/

환경 변수 관리 열기: sudo gedit ~/.bashrc는 여기서 몇 가지 주의해야 할 점이 있습니다.
export PATH=/usr/local/cuda-8.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
export PYTHONPATH=/home/qi/caffe/python:$PYTHONPATH

구성을 즉시 적용하려면:
source ~/.bashrc

메모리 사용량 보기:
nvidia-smi

파이썬 버전 보기
python -V

Python에서 opencv 버전 보기
python
import cv2
cv2.__version__

caffe의 설치에 관한 블로그를 추천합니다.http://www.cnblogs.com/peiyuYang/p/7784787.html

좋은 웹페이지 즐겨찾기