1、check failed: target_blobs.size() == source_layer.blobs_size() (2 vs. 1) incompatible number of blobs for layer conv0
測試的時候出現此問題
2、cudasuccess(2 vs. 0) out of memory,如下圖
這種問題為視訊記憶體不足導致的,出現這種問題有以下幾種可能
1)若出現在train階段,則train的batch_size設定的太大,此時改小batch_size一般就能解決
2)若出現在train過程中的test階段,則test的batch_size設定的太大,此時改小batch_size一般就能解決
若改小test的batch_size還不能解決此問題是因為在整個train過程中test的時候train所占用的batch_size的空間並沒有釋放,所以train中的test的batch_size的大小為train的batch_size加上test的batch_size,這種情況就只能先train,train結束之後再test
3)若改小batch_size還是不能解決此情況,那麼有可能是輸入太大導致的,這時候在生成lmdb的時候把尺寸設定的小一點就可以了
4)若以上三種均不能解決,那麼有可能是網路太複雜導致的,這時可以更換簡單一點的網路去訓練,或者換視訊記憶體更大一點的gpu
3、error: hdf5.h: no such file or directory
step 1
在makefile.config檔案,新增/usr/include/hdf5/serial/ 到 include_dirs,也就是把下面第一行**改為第二行**。
include_dirs := $(python_include) /usr/local/include
include_dirs := $(python_include) /usr/local/include /usr/include/hdf5/serial/
step 2
在makefile檔案中,把 hdf5_hl 和hdf5修改為hdf5_serial_hl 和 hdf5_serial,也就是把下面第一行**改為第二行**。
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
4、fatal error: caffe/proto/caffe.pb.h: no such file or directory
$ protoc src/caffe/proto/caffe.proto --cpp_out=.
$ sudo mkdir include/caffe/proto
$ sudo mv src/caffe/proto/caffe.pb.h include/caffe/proto
5、caffe cudnnsetconvolution2ddescriptor error: too few arguments in function call
在caffe/include/caffe/util/cudnn.hpp檔案中修改如下
template inline void setconvolutiondesc(cudnnconvolutiondescriptor_t* conv,
cudnntensordescriptor_t bottom, cudnnfilterdescriptor_t filter,
int pad_h, int pad_w, int stride_h, int stride_w)
6、caffe /usr/bin/ld: cannot find -lhdf5
或./include/caffe/util/hdf5.hpp:6:18: fatal error: hdf5.h: no such file or directory
修改makefile.config檔案如下
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/hdf5/serial
7、warning: enumeration value 'cudnn_status_runtime_prerequisite_missing'
對cudnngeterrorstring{}函式進行了修改,修改如下
#if cudnn_version_min(6, 0, 0)
case cudnn_status_runtime_prerequisite_missing:
return "cudnn_status_runtime_prerequisite_missing";
#endif
#if cudnn_version_min(7, 0, 0)
case cudnn_status_runtime_in_progress:
return "cudnn_status_runtime_in_progress";
case cudnn_status_runtime_fp_overflow:
return "cudnn_status_runtime_fp_overflow";
#endif
8、
.build_release/lib/libcaffe.so: undefined reference to `cv::imread(cv::string const&, int)'
.build_release/lib/libcaffe.so: undefined reference to `cv::imencode(cv::string const&, cv::_inputarray const&, std::vector>&, std::vector> const&)'
.build_release/lib/libcaffe.so: undefined reference to `cv::imdecode(cv::_inputarray const&, int)'
解決方法,修改makefile.config檔案把use_pkg_config := 1前面的#號去掉即可
9、python/caffe/_caffe.cpp:10:31: fatal error: numpy/arrayobject.h: no such file or directory
解決方法:
import numpy as np
np.get_include()
得到:
/usr/local/lib/python2.7/dist-packages/numpy/core/include
在makefile.config找到python_include,發現有點不同:
python_include := /usr/include/python2.7 \
/usr/lib/python2.7/dist-packages/numpy/core/include
要加乙個local,變成:
python_include := /usr/include/python2.7 \
/usr/local/lib/python2.7/dist-packages/numpy/core/include
再make pycaffe就ok了
10、
「check failed: error == cudasuccess (10 vs. 0) invalid device ordinal」
此問題發生在推理階段,造成此問題原因是因為實際的gpu的個數跟配置的gpu個數不相符導致的
11、create_annoset.py出現os.symlink(out_dir,link_dir) oserror:[errno 17] file exists,如下:
解決方法:把create_annoset.py檔案166行的if os.path.exists(link_dir)改為如下
hadoop hdfs 問題集錦 面試問題集錦
hadoop hdfs問題集錦 一 hadoop為什麼不適合處理大量的小檔案,怎麼解決?原因 1 檔案的元資料 包括檔案被分成了哪些blocks,每個block儲存在哪些伺服器的哪個block塊上 都是儲存在namenode上的記憶體,會對namenode的記憶體造成壓力 2 檔案過多會造成檔案的定...
面試問題集錦
jdbc運算元據庫過程 可重入鎖和synchronized鎖區別 synchronized的上鎖機制。redis實現分布式鎖 jvm優化 classloader 事務的傳播級別 mysql的鎖機 制除了用過redis 還有沒有用過其他的快取技術?jvm原理?class載入順序 aop怎麼實現啊?分布...
微軟MCSE 認證測試問題集錦 一
windows 2000的安裝 問 是否可以把windows 2000 professional公升級為server?答 不可以。它們是windows 2000的兩個不同的產品系列,95 98 nt workstation是客戶端,所以只能公升級到2000的客戶端 professional 而win...