Caffe+CUDA8.0+CuDNNv5.1+OpenCV3.1+Ubuntu14.04 配置参考文献 以及 常见编译问题总结

 

Caffe + CUDA8.0 + CuDNNv5.1 + OpenCV3.1 + Ubuntu14.04  配置参考文献

---- Wang Xiao  AnHui University  CVPR Group   2017-05-27 

 

Warning: Please make sure the cuda is installed correctly, before you reboot your PC, or  you may stucked and can not open your system.

Check in your terminal:  nvidia-smi

If it shown you the following image, it means you have successfully installed cuda and you can reboot your PC safely.

wangxiao@AHU:~$ nvidia-smi
Sun Jul 24 13:53:05 2016       
+------------------------------------------------------+                       
| NVIDIA-SMI 352.63     Driver Version: 352.63         |                       
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 960M    Off  | 0000:01:00.0     Off |                  N/A |
| N/A   46C    P8    N/A /  N/A |    204MiB /  2047MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID  Type  Process name                               Usage      |
|=============================================================================|
|    0      1198    G   /usr/bin/X                                     159MiB |
|    0      2025    G   compiz                                          37MiB |
+-----------------------------------------------------------------------------+
wangxiao@AHU:~$

Install CUDA until this appeared in your screen !

Q1: Some times, it warning you that your Nvidia-driver can not communitcate with your GPU, what can you do ? 

A1: Well, the only thing you could do is install your cuda in the right way, and reboot your PC. It will be OK.  

  

1. 首先安装 cuda :


sudo apt-get update

sudo dpkg -i cuda-repo-<distro>_<version>_<architecture>.deb

sudo apt-get install cuda

2. 安装基本依赖项:


sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
sudo apt-get install --no-install-recommends libboost-all-dev

sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler  

 sudo apt-get install --no-install-recommends libboost-all-dev

 sudo apt-get install python-skimage ipython python-pil python-h5py ipython python-gflags python-yaml  

 sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev  

3. 设置环境变量:

export PATH=/usr/local/cuda-8.0/bin:$PATH  
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH  

也可以在 /etc/profile中进行编辑, 在最后加入:

exportPATH=/usr/local/cuda-8.0/bin:$PATH
exportLD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH

4. 设置CUDA-7.5 SAMPLES:

cuda-install-samples-8.0.sh  ~  
cd ~/NVIDIA_CUDA-8.0_Samples  
cd 1_Utilities/deviceQuery  
make 

进入NVIDIA_CUDA-8.0_Samples 会编译很长时间,耐心等待。

执行测试代码: deviceQuery,如果成功结尾会是Result = PASS

此处,可能因为gcc或者g++版本问题,导致无法编译。重新安装一个较老的版本gcc-4.7,然后添加对应的软连接即可编译: 


sudo apt-get install -y gcc-4.7
sudo apt-get install -y g++-4.7
cd /usr/bin
sudo rm gcc
sudo ln -s gcc-4.7 gcc
sudo rm g++
sudo ln -s g++-4.7 g++
#### check it's success or not ?
ls -al gcc g++
gcc --version
g++ --version

5. 安装BLAS:  

sudo apt-get install libatlas-base-dev 

6. 安装其他依赖项:

sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev

7. 安装opencv:

#[compiler]
sudo apt-get install build-essential  
#[required]
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev  
#[optional]
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev  

8. 安装cudnn: 

 解压cudnn的包(官网得申请,用网盘搜索能找到最新的),有include和lib64,里面文件复制到对应/usr/local/cuda/对应文件夹里

#进到对应文件夹
sudo cp cudnn.h /usr/local/cuda/include/  

#进到对应文件夹 sudo cp lib
* /usr/local/cuda/lib64/
#进行一次
sudo ldconfig
-v

9. 安装caffe:

Caffe

git clone https://github.com/BVLC/caffe.git  
cp Makefile.config.example Makefile.config  

修改Makefile.config,去掉cudnn的注释,其他的在当前应用场景可不变。

make all  
make test  
make runtest  

10. 安装matlab:

  Many Tutorials online, we just ignore this part here. 

11. can not find "hdf5.h":

# Whatever else you find you need goes here.
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

12. 编译caffe的时候,提示:
CXX examples/cifar10/convert_cifar_data.cpp
CXX examples/siamese/convert_mnist_siamese_data.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:563: 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
wangxiao@GTX980:~/Downloads/caffe-master$
-------------------

Caffe+CUDA8.0+CuDNNv5.1+OpenCV3.1+Ubuntu14.04 配置参考文献 以及 常见编译问题总结

怎么破?

do as issue 12. Change the Makefile.config: 

# Whatever else you find you need goes here.
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

 

 13. 安装 MKL:

 

MKL与CUDA的环境设置

1. 新建intel_mkl.conf, 并编辑之:

         $ sudo gedit /etc/ld.so.conf.d/intel_mkl.conf

         /opt/intel/lib/intel64

         /opt/intel/mkl/lib/intel64

2. 新建cuda.conf,并编辑之:

         $ sudo gedit /etc/ld.so.conf.d/cuda.conf

         /usr/local/cuda/lib64

         /lib

3. 完成lib文件的链接操作,执行:

         $ sudo ldconfig –v

 

  

 

 15. 可能需要添加的东西:

配置Makefile文件(实现对OpenCV3.x的支持)

查找“Derive include and lib directories”一节,修改“LIBRARIES +=”的最后一行,增加opencv_imgcodecs

opencv_core opencv_highgui opencv_imgproc opencv_imgcodecs

 16. 运行caffe案例:

1. 数据预处理

$ sudo shdata/mnist/get_mnist.sh

2. 重建lmdb文件。Caffe支持三种数据格式输入网络,包括Image(.jpg, .png等),leveldb,lmdb,根据自己需要选择不同输入吧。

$sudo shexamples/mnist/create_mnist.sh

生成mnist-train-lmdb 和 mnist-train-lmdb文件夹,这里包含了lmdb格式的数据集

注:我执行此命令的时候报告说not in gzformat,后来发现是联网下载的mnist数据有问题,然后我就去网上了下载了mnist数据集,后在ubuntu上手动解压的,再执行后面的命令。

3. 训练mnist
$ sudo shexamples/mnist/train_lenet.sh

 17. when compile caffe:

Caffe+CUDA8.0+CuDNNv5.1+OpenCV3.1+Ubuntu14.04 配置参考文献 以及 常见编译问题总结Caffe+CUDA8.0+CuDNNv5.1+OpenCV3.1+Ubuntu14.04 配置参考文献 以及 常见编译问题总结
  1 wangxiao@GTX980:~/Downloads/35attribute_caffe_master_$ make -j8
  2 CXX/LD -o .build_release/tools/upgrade_net_proto_binary.bin
  3 CXX/LD -o .build_release/tools/upgrade_solver_proto_text.bin
  4 CXX/LD -o .build_release/tools/compute_image_mean.bin
  5 CXX/LD -o .build_release/tools/caffe.bin
  6 CXX/LD -o .build_release/tools/convert_imageset.bin
  7 CXX/LD -o .build_release/tools/upgrade_net_proto_text.bin
  8 CXX/LD -o .build_release/examples/mnist/convert_mnist_data.bin
  9 CXX/LD -o .build_release/tools/extract_features.bin
 10 .build_release/lib/libcaffe.so: undefined reference to `H5LTget_dataset_ndims'
 11 .build_release/lib/libcaffe.so: undefined reference to `H5Fcreate'
 12 .build_release/lib/libcaffe.so: undefined reference to `H5check_version'
 13 .build_release/lib/libcaffe.so: undefined reference to `H5Lget_name_by_idx'
 14 .build_release/lib/libcaffe.so: undefined reference to `google::base::CheckOpMessageBuilder::NewString()'
 15 .build_release/lib/libcaffe.so: undefined reference to `H5LTmake_dataset_double'
 16 .build_release/lib/libcaffe.so: undefined reference to `H5LTmake_dataset_int'
 17 .build_release/lib/libcaffe.so: undefined reference to `H5LTread_dataset_float'
 18 .build_release/lib/libcaffe.so: undefined reference to `H5LTmake_dataset_float'
 19 .build_release/lib/libcaffe.so: undefined reference to `H5Gget_info'
 20 .build_release/lib/libcaffe.so: undefined reference to `H5Gopen2'
 21 .build_release/lib/libcaffe.so: undefined reference to `google::protobuf::internal::NameOfEnum(google::protobuf::EnumDescriptor const*, int)'
 22 .build_release/lib/libcaffe.so: undefined reference to `H5LTread_dataset_double'
 23 .build_release/lib/libcaffe.so: undefined reference to `H5LTmake_dataset_string'
 24 .build_release/lib/libcaffe.so: undefined reference to `H5LTread_dataset_int'
 25 .build_release/lib/libcaffe.so: undefined reference to `H5Fclose'
 26 .build_release/lib/libcaffe.so: undefined reference to `H5Gclose'
 27 .build_release/lib/libcaffe.so: undefined reference to `H5LTfind_dataset'
 28 .build_release/lib/libcaffe.so: undefined reference to `caffe::BlockingQueue<caffe::Batch<double>*>::pop(std::string const&)'
 29 .build_release/lib/libcaffe.so: undefined reference to `H5Lexists'
 30 .build_release/lib/libcaffe.so: undefined reference to `H5Gcreate2'
 31 .build_release/lib/libcaffe.so: undefined reference to `H5LTget_dataset_info'
 32 .build_release/lib/libcaffe.so: undefined reference to `H5LTread_dataset_string'
 33 .build_release/lib/libcaffe.so: undefined reference to `caffe::BlockingQueue<caffe::Batch<float>*>::pop(std::string const&)'
 34 .build_release/lib/libcaffe.so: undefined reference to `H5Fopen'
 35 collect2: error: ld returned 1 exit status
 36 Makefile:616: recipe for target '.build_release/tools/caffe.bin' failed
 37 make: *** [.build_release/tools/caffe.bin] Error 1
 38 make: *** Waiting for unfinished jobs....
 39 .build_release/lib/libcaffe.so: undefined reference to `H5LTget_dataset_ndims'
 40 .build_release/lib/libcaffe.so: undefined reference to `H5Fcreate'
 41 .build_release/lib/libcaffe.so: undefined reference to `H5check_version'
 42 .build_release/lib/libcaffe.so: undefined reference to `H5Lget_name_by_idx'
 43 .build_release/lib/libcaffe.so: undefined reference to `google::base::CheckOpMessageBuilder::NewString()'
 44 .build_release/lib/libcaffe.so: undefined reference to `H5LTmake_dataset_double'
 45 .build_release/lib/libcaffe.so: undefined reference to `H5LTmake_dataset_int'
 46 .build_release/lib/libcaffe.so: undefined reference to `H5LTread_dataset_float'
 47 .build_release/lib/libcaffe.so: undefined reference to `H5LTmake_dataset_float'
 48 .build_release/lib/libcaffe.so: undefined reference to `H5Gget_info'
 49 .build_release/lib/libcaffe.so: undefined reference to `H5Gopen2'
 50 .build_release/lib/libcaffe.so: undefined reference to `google::protobuf::internal::NameOfEnum(google::protobuf::EnumDescriptor const*, int)'
 51 .build_release/lib/libcaffe.so: undefined reference to `H5LTread_dataset_double'
 52 .build_release/lib/libcaffe.so: undefined reference to `H5LTmake_dataset_string'
 53 .build_release/lib/libcaffe.so: undefined reference to `H5LTread_dataset_int'
 54 .build_release/lib/libcaffe.so: undefined reference to `H5Fclose'
 55 .build_release/lib/libcaffe.so: undefined reference to `H5Gclose'
 56 .build_release/lib/libcaffe.so: undefined reference to `H5LTfind_dataset'
 57 .build_release/lib/libcaffe.so: undefined reference to `caffe::BlockingQueue<caffe::Batch<double>*>::pop(std::string const&)'
 58 .build_release/lib/libcaffe.so: undefined reference to `H5Lexists'
 59 .build_release/lib/libcaffe.so: undefined reference to `H5Gcreate2'
 60 .build_release/lib/libcaffe.so: undefined reference to `H5LTget_dataset_info'
 61 .build_release/lib/libcaffe.so: undefined reference to `H5LTread_dataset_string'
 62 .build_release/lib/libcaffe.so: undefined reference to `caffe::BlockingQueue<caffe::Batch<float>*>::pop(std::string const&)'
 63 .build_release/lib/libcaffe.so: undefined reference to `H5Fopen'
 64 collect2: error: ld returned 1 exit status
 65 Makefile:616: recipe for target '.build_release/tools/upgrade_net_proto_text.bin' failed
 66 make: *** [.build_release/tools/upgrade_net_proto_text.bin] Error 1
 67 .build_release/lib/libcaffe.so: undefined reference to `H5LTget_dataset_ndims'
 68 .build_release/lib/libcaffe.so: undefined reference to `H5Fcreate'
 69 .build_release/lib/libcaffe.so: undefined reference to `H5check_version'
 70 .build_release/lib/libcaffe.so: undefined reference to `H5Lget_name_by_idx'
 71 .build_release/lib/libcaffe.so: undefined reference to `google::base::CheckOpMessageBuilder::NewString()'
 72 .build_release/lib/libcaffe.so: undefined reference to `H5LTmake_dataset_double'
 73 .build_release/lib/libcaffe.so: undefined reference to `H5LTmake_dataset_int'
 74 .build_release/lib/libcaffe.so: undefined reference to `H5LTread_dataset_float'
 75 .build_release/lib/libcaffe.so: undefined reference to `H5LTmake_dataset_float'
 76 .build_release/lib/libcaffe.so: undefined reference to `H5Gget_info'
 77 .build_release/lib/libcaffe.so: undefined reference to `H5Gopen2'
 78 .build_release/lib/libcaffe.so: undefined reference to `google::protobuf::internal::NameOfEnum(google::protobuf::EnumDescriptor const*, int)'
 79 .build_release/lib/libcaffe.so: undefined reference to `H5LTread_dataset_double'
 80 .build_release/lib/libcaffe.so: undefined reference to `H5LTmake_dataset_string'
 81 .build_release/lib/libcaffe.so: undefined reference to `H5LTread_dataset_int'
 82 .build_release/lib/libcaffe.so: undefined reference to `H5Fclose'
 83 .build_release/lib/libcaffe.so: undefined reference to `H5Gclose'
 84 .build_release/lib/libcaffe.so: undefined reference to `H5LTfind_dataset'
 85 .build_release/lib/libcaffe.so: undefined reference to `caffe::BlockingQueue<caffe::Batch<double>*>::pop(std::string const&)'
 86 .build_release/lib/libcaffe.so: undefined reference to `H5Lexists'
 87 .build_release/lib/libcaffe.so: undefined reference to `H5Gcreate2'
 88 .build_release/lib/libcaffe.so: undefined reference to `H5LTget_dataset_info'
 89 .build_release/lib/libcaffe.so: undefined reference to `H5LTread_dataset_string'
 90 .build_release/lib/libcaffe.so: undefined reference to `caffe::BlockingQueue<caffe::Batch<float>*>::pop(std::string const&)'
 91 .build_release/lib/libcaffe.so: undefined reference to `H5Fopen'
 92 collect2: error: ld returned 1 exit status
 93 Makefile:616: recipe for target '.build_release/tools/upgrade_solver_proto_text.bin' failed
 94 make: *** [.build_release/tools/upgrade_solver_proto_text.bin] Error 1
 95 .build_release/lib/libcaffe.so: undefined reference to `H5LTget_dataset_ndims'
 96 .build_release/lib/libcaffe.so: undefined reference to `H5Fcreate'
 97 .build_release/lib/libcaffe.so: undefined reference to `H5check_version'
 98 .build_release/lib/libcaffe.so: undefined reference to `H5Lget_name_by_idx'
 99 .build_release/lib/libcaffe.so: undefined reference to `google::base::CheckOpMessageBuilder::NewString()'
100 .build_release/lib/libcaffe.so: undefined reference to `H5LTmake_dataset_double'
101 .build_release/lib/libcaffe.so: undefined reference to `H5LTmake_dataset_int'
102 .build_release/lib/libcaffe.so: undefined reference to `H5LTread_dataset_float'
103 .build_release/lib/libcaffe.so: undefined reference to `H5LTmake_dataset_float'
104 .build_release/lib/libcaffe.so: undefined reference to `H5Gget_info'
105 .build_release/lib/libcaffe.so: undefined reference to `H5Gopen2'
106 .build_release/lib/libcaffe.so: undefined reference to `google::protobuf::internal::NameOfEnum(google::protobuf::EnumDescriptor const*, int)'
107 .build_release/lib/libcaffe.so: undefined reference to `H5LTread_dataset_double'
108 .build_release/lib/libcaffe.so: undefined reference to `H5LTmake_dataset_string'
109 .build_release/lib/libcaffe.so: undefined reference to `H5LTread_dataset_int'
110 .build_release/lib/libcaffe.so: undefined reference to `H5Fclose'
111 .build_release/lib/libcaffe.so: undefined reference to `H5Gclose'
112 .build_release/lib/libcaffe.so: undefined reference to `H5LTfind_dataset'
113 .build_release/lib/libcaffe.so: undefined reference to `caffe::BlockingQueue<caffe::Batch<double>*>::pop(std::string const&)'
114 .build_release/lib/libcaffe.so: undefined reference to `H5Lexists'
115 .build_release/lib/libcaffe.so: undefined reference to `H5Gcreate2'
116 .build_release/lib/libcaffe.so: undefined reference to `H5LTget_dataset_info'
117 .build_release/lib/libcaffe.so: undefined reference to `H5LTread_dataset_string'
118 .build_release/lib/libcaffe.so: undefined reference to `caffe::BlockingQueue<caffe::Batch<float>*>::pop(std::string const&)'
119 .build_release/lib/libcaffe.so: undefined reference to `H5Fopen'
120 collect2: error: ld returned 1 exit status
121 Makefile:616: recipe for target '.build_release/tools/convert_imageset.bin' failed
122 make: *** [.build_release/tools/convert_imageset.bin] Error 1
123 .build_release/lib/libcaffe.so: undefined reference to `H5LTget_dataset_ndims'
124 .build_release/lib/libcaffe.so: undefined reference to `H5Fcreate'
125 .build_release/lib/libcaffe.so: undefined reference to `H5check_version'
126 .build_release/lib/libcaffe.so: undefined reference to `H5Lget_name_by_idx'
127 .build_release/lib/libcaffe.so: undefined reference to `google::base::CheckOpMessageBuilder::NewString()'
128 .build_release/lib/libcaffe.so: undefined reference to `H5LTmake_dataset_double'
129 .build_release/lib/libcaffe.so: undefined reference to `H5LTmake_dataset_int'
130 .build_release/lib/libcaffe.so: undefined reference to `H5LTread_dataset_float'
131 .build_release/lib/libcaffe.so: undefined reference to `H5LTmake_dataset_float'
132 .build_release/lib/libcaffe.so: undefined reference to `H5Gget_info'
133 .build_release/lib/libcaffe.so: undefined reference to `H5Gopen2'
134 .build_release/lib/libcaffe.so: undefined reference to `google::protobuf::internal::NameOfEnum(google::protobuf::EnumDescriptor const*, int)'
135 .build_release/lib/libcaffe.so: undefined reference to `H5LTread_dataset_double'
136 .build_release/lib/libcaffe.so: undefined reference to `H5LTmake_dataset_string'
137 .build_release/lib/libcaffe.so: undefined reference to `H5LTread_dataset_int'
138 .build_release/lib/libcaffe.so: undefined reference to `H5Fclose'
139 .build_release/lib/libcaffe.so: undefined reference to `H5Gclose'
140 .build_release/lib/libcaffe.so: undefined reference to `H5LTfind_dataset'
141 .build_release/lib/libcaffe.so: undefined reference to `caffe::BlockingQueue<caffe::Batch<double>*>::pop(std::string const&)'
142 .build_release/lib/libcaffe.so: undefined reference to `H5Lexists'
143 .build_release/lib/libcaffe.so: undefined reference to `H5Gcreate2'
144 .build_release/lib/libcaffe.so: undefined reference to `H5LTget_dataset_info'
145 .build_release/lib/libcaffe.so: undefined reference to `H5LTread_dataset_string'
146 .build_release/lib/libcaffe.so: undefined reference to `caffe::BlockingQueue<caffe::Batch<float>*>::pop(std::string const&)'
147 .build_release/lib/libcaffe.so: undefined reference to `H5Fopen'
148 collect2: error: ld returned 1 exit status
149 Makefile:621: recipe for target '.build_release/examples/mnist/convert_mnist_data.bin' failed
150 make: *** [.build_release/examples/mnist/convert_mnist_data.bin] Error 1
151 .build_release/lib/libcaffe.so: undefined reference to `H5LTget_dataset_ndims'
152 .build_release/lib/libcaffe.so: undefined reference to `H5Fcreate'
153 .build_release/lib/libcaffe.so: undefined reference to `H5check_version'
154 .build_release/lib/libcaffe.so: undefined reference to `H5Lget_name_by_idx'
155 .build_release/lib/libcaffe.so: undefined reference to `google::base::CheckOpMessageBuilder::NewString()'
156 .build_release/lib/libcaffe.so: undefined reference to `H5LTmake_dataset_double'
157 .build_release/lib/libcaffe.so: undefined reference to `H5LTmake_dataset_int'
158 .build_release/lib/libcaffe.so: undefined reference to `H5LTread_dataset_float'
159 .build_release/lib/libcaffe.so: undefined reference to `H5LTmake_dataset_float'
160 .build_release/lib/libcaffe.so: undefined reference to `H5Gget_info'
161 .build_release/lib/libcaffe.so: undefined reference to `H5Gopen2'
162 .build_release/lib/libcaffe.so: undefined reference to `google::protobuf::internal::NameOfEnum(google::protobuf::EnumDescriptor const*, int)'
163 .build_release/lib/libcaffe.so: undefined reference to `H5LTread_dataset_double'
164 .build_release/lib/libcaffe.so: undefined reference to `H5LTmake_dataset_string'
165 .build_release/lib/libcaffe.so: undefined reference to `H5LTread_dataset_int'
166 .build_release/lib/libcaffe.so: undefined reference to `H5Fclose'
167 .build_release/lib/libcaffe.so: undefined reference to `H5Gclose'
168 .build_release/lib/libcaffe.so: undefined reference to `H5LTfind_dataset'
169 .build_release/lib/libcaffe.so: undefined reference to `caffe::BlockingQueue<caffe::Batch<double>*>::pop(std::string const&)'
170 .build_release/lib/libcaffe.so: undefined reference to `H5Lexists'
171 .build_release/lib/libcaffe.so: undefined reference to `H5Gcreate2'
172 .build_release/lib/libcaffe.so: undefined reference to `H5LTget_dataset_info'
173 .build_release/lib/libcaffe.so: undefined reference to `H5LTread_dataset_string'
174 .build_release/lib/libcaffe.so: undefined reference to `caffe::BlockingQueue<caffe::Batch<float>*>::pop(std::string const&)'
175 .build_release/lib/libcaffe.so: undefined reference to `H5Fopen'
176 collect2: error: ld returned 1 exit status
177 Makefile:616: recipe for target '.build_release/tools/extract_features.bin' failed
178 make: *** [.build_release/tools/extract_features.bin] Error 1
179 .build_release/lib/libcaffe.so: undefined reference to `H5LTget_dataset_ndims'
180 .build_release/lib/libcaffe.so: undefined reference to `H5Fcreate'
181 .build_release/lib/libcaffe.so: undefined reference to `H5check_version'
182 .build_release/lib/libcaffe.so: undefined reference to `H5Lget_name_by_idx'
183 .build_release/lib/libcaffe.so: undefined reference to `google::base::CheckOpMessageBuilder::NewString()'
184 .build_release/lib/libcaffe.so: undefined reference to `H5LTmake_dataset_double'
185 .build_release/lib/libcaffe.so: undefined reference to `H5LTmake_dataset_int'
186 .build_release/lib/libcaffe.so: undefined reference to `H5LTread_dataset_float'
187 .build_release/lib/libcaffe.so: undefined reference to `H5LTmake_dataset_float'
188 .build_release/lib/libcaffe.so: undefined reference to `H5Gget_info'
189 .build_release/lib/libcaffe.so: undefined reference to `H5Gopen2'
190 .build_release/lib/libcaffe.so: undefined reference to `google::protobuf::internal::NameOfEnum(google::protobuf::EnumDescriptor const*, int)'
191 .build_release/lib/libcaffe.so: undefined reference to `H5LTread_dataset_double'
192 .build_release/lib/libcaffe.so: undefined reference to `H5LTmake_dataset_string'
193 .build_release/lib/libcaffe.so: undefined reference to `H5LTread_dataset_int'
194 .build_release/lib/libcaffe.so: undefined reference to `H5Fclose'
195 .build_release/lib/libcaffe.so: undefined reference to `H5Gclose'
196 .build_release/lib/libcaffe.so: undefined reference to `H5LTfind_dataset'
197 .build_release/lib/libcaffe.so: undefined reference to `caffe::BlockingQueue<caffe::Batch<double>*>::pop(std::string const&)'
198 .build_release/lib/libcaffe.so: undefined reference to `H5Lexists'
199 .build_release/lib/libcaffe.so: undefined reference to `H5Gcreate2'
200 .build_release/lib/libcaffe.so: undefined reference to `H5LTget_dataset_info'
201 .build_release/lib/libcaffe.so: undefined reference to `H5LTread_dataset_string'
202 .build_release/lib/libcaffe.so: undefined reference to `caffe::BlockingQueue<caffe::Batch<float>*>::pop(std::string const&)'
203 .build_release/lib/libcaffe.so: undefined reference to `H5Fopen'
204 collect2: error: ld returned 1 exit status
205 Makefile:616: recipe for target '.build_release/tools/compute_image_mean.bin' failed
206 make: *** [.build_release/tools/compute_image_mean.bin] Error 1
207 .build_release/lib/libcaffe.so: undefined reference to `H5LTget_dataset_ndims'
208 .build_release/lib/libcaffe.so: undefined reference to `H5Fcreate'
209 .build_release/lib/libcaffe.so: undefined reference to `H5check_version'
210 .build_release/lib/libcaffe.so: undefined reference to `H5Lget_name_by_idx'
211 .build_release/lib/libcaffe.so: undefined reference to `google::base::CheckOpMessageBuilder::NewString()'
212 .build_release/lib/libcaffe.so: undefined reference to `H5LTmake_dataset_double'
213 .build_release/lib/libcaffe.so: undefined reference to `H5LTmake_dataset_int'
214 .build_release/lib/libcaffe.so: undefined reference to `H5LTread_dataset_float'
215 .build_release/lib/libcaffe.so: undefined reference to `H5LTmake_dataset_float'
216 .build_release/lib/libcaffe.so: undefined reference to `H5Gget_info'
217 .build_release/lib/libcaffe.so: undefined reference to `H5Gopen2'
218 .build_release/lib/libcaffe.so: undefined reference to `google::protobuf::internal::NameOfEnum(google::protobuf::EnumDescriptor const*, int)'
219 .build_release/lib/libcaffe.so: undefined reference to `H5LTread_dataset_double'
220 .build_release/lib/libcaffe.so: undefined reference to `H5LTmake_dataset_string'
221 .build_release/lib/libcaffe.so: undefined reference to `H5LTread_dataset_int'
222 .build_release/lib/libcaffe.so: undefined reference to `H5Fclose'
223 .build_release/lib/libcaffe.so: undefined reference to `H5Gclose'
224 .build_release/lib/libcaffe.so: undefined reference to `H5LTfind_dataset'
225 .build_release/lib/libcaffe.so: undefined reference to `caffe::BlockingQueue<caffe::Batch<double>*>::pop(std::string const&)'
226 .build_release/lib/libcaffe.so: undefined reference to `H5Lexists'
227 .build_release/lib/libcaffe.so: undefined reference to `H5Gcreate2'
228 .build_release/lib/libcaffe.so: undefined reference to `H5LTget_dataset_info'
229 .build_release/lib/libcaffe.so: undefined reference to `H5LTread_dataset_string'
230 .build_release/lib/libcaffe.so: undefined reference to `caffe::BlockingQueue<caffe::Batch<float>*>::pop(std::string const&)'
231 .build_release/lib/libcaffe.so: undefined reference to `H5Fopen'
232 collect2: error: ld returned 1 exit status
233 Makefile:616: recipe for target '.build_release/tools/upgrade_net_proto_binary.bin' failed
234 make: *** [.build_release/tools/upgrade_net_proto_binary.bin] Error 1
235 wangxiao@GTX980:~/Downloads/35attribute_caffe_master_$ 
View Code

what the fuck :::

...

 

OK, 改为ubuntu Kylic版本了,哎,还是麒麟好用啊。。。坑逼


 

18. when use the matlab demo from caffe file:

  after make matcaffe, and it warning me it's OK. and when run the demo, it shown me the errors like this:

  Invalid MEX-file '/home/wangxiao/Downloads/caltech_256_caffe_master/matlab/+caffe/private/caffe_.mexa64': libcudart.so.7.5: cannot open shared object file: No such file or directory 

  What should I do for this ??

Caffe+CUDA8.0+CuDNNv5.1+OpenCV3.1+Ubuntu14.04 配置参考文献 以及 常见编译问题总结

Caffe+CUDA8.0+CuDNNv5.1+OpenCV3.1+Ubuntu14.04 配置参考文献 以及 常见编译问题总结

  

   You must remember the following operation, because it really worked well ! Yeah !!!


 

  error while loading shared libraries: libcudart.so.7.5: cannot open shared object file: No such file or directory

  32-bit:   sudo ldconfig /usr/local/cuda/lib

  64-bit:   sudo ldconfig /usr/local/cuda/lib64

 

  今天悲剧的发现, 执行了 64-bit 之后出现错误:   

  wangxiao@AHU:~/Downloads/caffe-master$ sudo ldconfig /usr/local/cuda/lib64

  /sbin/ldconfig.real: /usr/local/cuda/lib64/libcudnn.so.5 is not a symbolic link

  不知道问题何在啊?怎么解决???  

  ##############################################
  ## 有时候需要更新软链接:
  
  cd /usr/local/cuda/lib64/  

  sudo rm -rf libcudnn.so libcudnn.so.7.5  
  sudo ln -s libcudnn.so.7.5.48 libcudnn.so.7.5  
  sudo ln -s libcudnn.so.7.5 libcudnn.so  

 

19. When compile caffe, some times it always shown you a mistake like this:

CXX src/caffe/util/db_leveldb.cpp
In file included from src/caffe/util/signal_handler.cpp:7:0:
./include/caffe/util/signal_handler.h:4:34: fatal error: caffe/proto/caffe.pb.h: No such file or directory
#include "caffe/proto/caffe.pb.h"
^
compilation terminated.
The bug is not reproducible, so it is likely a hardware or OS problem.
make: *** [.build_release/src/caffe/util/signal_handler.o] Error 1
make: *** Waiting for unfinished jobs....
^Cmake: *** [.build_release/src/caffe/util/math_functions.o] Interrupt
make: *** [.build_release/src/caffe/net.o] Interrupt
make: *** wait: No child processes. Stop.

 

Do you how to solve this problem ???  Just becase the lost of the file : caffe.pb.h, and this file is actually generated from the process of compile. Do the following operation will help you solve the problem:

  Just input make in your terminal:  make 

  Then, press ctrl+c to stop it, and input: make -j8 

  All process will be normal now !

  Here is a figure to help you understand this all process.

Caffe+CUDA8.0+CuDNNv5.1+OpenCV3.1+Ubuntu14.04 配置参考文献 以及 常见编译问题总结


 20. You also maybe meet a error like this:

CXX/LD -o .build_release/tools/net_speed_benchmark.bin
.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<unsigned char, std::allocator<unsigned char> >&, std::vector<int, std::allocator<int> > const&)'
.build_release/lib/libcaffe.so: undefined reference to `cv::imdecode(cv::_InputArray const&, int)'
collect2: error: ld returned 1 exit status
make: *** [.build_release/tools/upgrade_solver_proto_text.bin] Error 1
make: *** Waiting for unfinished jobs....
.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<unsigned char, std::allocator<unsigned char> >&, std::vector<int, std::allocator<int> > const&)'
.build_release/lib/libcaffe.so: undefined reference to `cv::imdecode(cv::_InputArray const&, int)'
collect2: error: ld returned 1 exit status
make: *** [.build_release/tools/extract_features.bin] Error 1
.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<unsigned char, std::allocator<unsigned char> >&, std::vector<int, std::allocator<int> > const&)'
.build_release/lib/libcaffe.so: undefined reference to `cv::imdecode(cv::_InputArray const&, int)'
collect2: error: ld returned 1 exit status
make: *** [.build_release/tools/caffe.bin] Error 1
.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<unsigned char, std::allocator<unsigned char> >&, std::vector<int, std::allocator<int> > const&)'
.build_release/lib/libcaffe.so: undefined reference to `cv::imdecode(cv::_InputArray const&, int)'
collect2: error: ld returned 1 exit status
make: *** [.build_release/tools/upgrade_net_proto_binary.bin] Error 1
.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<unsigned char, std::allocator<unsigned char> >&, std::vector<int, std::allocator<int> > const&)'
.build_release/lib/libcaffe.so: undefined reference to `cv::imdecode(cv::_InputArray const&, int)'
collect2: error: ld returned 1 exit status
make: *** [.build_release/tools/convert_imageset.bin] Error 1
.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<unsigned char, std::allocator<unsigned char> >&, std::vector<int, std::allocator<int> > const&)'
.build_release/lib/libcaffe.so: undefined reference to `cv::imdecode(cv::_InputArray const&, int)'
collect2: error: ld returned 1 exit status
make: *** [.build_release/tools/compute_image_mean.bin] Error 1
.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<unsigned char, std::allocator<unsigned char> >&, std::vector<int, std::allocator<int> > const&)'
.build_release/lib/libcaffe.so: undefined reference to `cv::imdecode(cv::_InputArray const&, int)'
collect2: error: ld returned 1 exit status
make: *** [.build_release/tools/upgrade_net_proto_text.bin] Error 1 

Just add a word in you Makefile, following:

LIBRARIES += opencv_core opencv_highgui opencv_imgproc opencv_imgcodecs 

 

21. 利用caffe 的matlab借口提取feature的时候:碰到了这个问题:怎么破 ?

  Caffe+CUDA8.0+CuDNNv5.1+OpenCV3.1+Ubuntu14.04 配置参考文献 以及 常见编译问题总结  

  Undefined function 'caffe_' for input arguments of type 'char'.

  Error in caffe.set_mode_gpu (line 5)
  caffe_('set_mode_gpu');

  Error in Copy_of_Label_all_ (line 11)
  caffe.set_mode_gpu();

 

  答:因为没有编译matlab接口,即:make matcaffe 执行这句,完了之后,你就发现,yeah,可以了。。。

 

22. protobuf 的问题:  protobuf-2.5.0.tar.gz的下载与安装

  采样自: http://blog.csdn.net/huguoping830623/article/details/45482725

1.下载

    hadoop使用protocol buffer进行通信,需要下载和安装 protobuf-2.5.0.tar.gz。由于 现在 protobuf-2.5.0.tar.gz已经无法在官网 https://code.google.com/p/protobuf/downloads/list中 下载了,本人将 protobuf-2.5.0.tar.gz上传到百度云盘供大家下载,地址: http://pan.baidu.com/s/1pJlZubT 。

2.安装

    使用tar -zxf protobuf-2.5.0.tar.gz命令解压后得到是 protobuf-2.5.0的源码,

     cd protobuf-2.5.0 进入目录

    假如 你希望编译成功后输出的目录 为 /home/work /protobuf/ 则输入如下两条命令:

    ./configure --prefix=/home/work /protobuf/  

    make && make install

    编译成功后将export PATH= /home/work /protobuf/bin:$PATH加入到环境变量中

    最后输入  protoc --version命令,如显示libprotoc 2.5.0则安装成功

  

  

23. 将 wide residual network 的 python 脚本生成 其对应的 protext 文件,出现问题:

wangxiao@AHU:~/Downloads/caffe-master$ python ./python/wide_residual_network.py
Traceback (most recent call last):
File "./python/wide_residual_network.py", line 62, in <module>
make_net(tgt_file)
File "./python/wide_residual_network.py", line 58, in make_net
print(resnet_cifar(depth=16, widen_factor=8), file=f)
File "./python/wide_residual_network.py", line 53, in resnet_cifar
return to_proto(loss, acc)
File "/home/wangxiao/Downloads/caffe-master/python/caffe/net_spec.py", line 50, in to_proto
top.fn._to_proto(layers, {}, autonames)
--------------------- 类似这种转换 ------- 此处略写 -----------------------
inp._to_proto(layers, names, autonames)
File "/home/wangxiao/Downloads/caffe-master/python/caffe/net_spec.py", line 97, in _to_proto
return self.fn._to_proto(layers, names, autonames)
File "/home/wangxiao/Downloads/caffe-master/python/caffe/net_spec.py", line 136, in _to_proto
inp._to_proto(layers, names, autonames)
AttributeError: 'NoneType' object has no attribute '_to_proto'
wangxiao@AHU:~/Downloads/caffe-master$

 

   搜到一个答案,但是不知所云:

    http://*.com/questions/15232832/python-regex-attributeerror-nonetype-object-has-no-attribute-groups

  哎 坑啊 ...

 

24. 要用 CUDNN,因为训练速度会提升好几倍!!!

 

25. 编译 caffe 出现:

XX src/caffe/layers/cudnn_sigmoid_layer.cpp
CXX src/caffe/layers/deconv_layer.cpp
src/caffe/net.cpp:8:18: fatal error: hdf5.h: No such file or directory
#include "hdf5.h"
^
compilation terminated.
Makefile:572: recipe for target '.build_release/src/caffe/net.o' failed
make: *** [.build_release/src/caffe/net.o] Error 1
make: *** Waiting for unfinished jobs....
wangxiao@csdl:~/pedestrian_attributes/43_attribute_caffe_master_$ ^C
wangxiao@csdl:~/pedestrian_attributes/43_attribute_caffe_master_$

Caffe+CUDA8.0+CuDNNv5.1+OpenCV3.1+Ubuntu14.04 配置参考文献 以及 常见编译问题总结

 那么,怎么解决这个问题?添加两行路径:

   /usr/include/hdf5/serial 

  /usr/lib/x86_64-linux-gnu/hdf5/serial

  Caffe+CUDA8.0+CuDNNv5.1+OpenCV3.1+Ubuntu14.04 配置参考文献 以及 常见编译问题总结

 

 26. caffe 配置 python 环境变量: 参考博文:http://blog.csdn.net/yingyujianmo/article/details/51014440

   

  添加环境变量 
    vim ~/.bashrc
  将export PYTHONPATH=/home/wanghh/caffe/python:$PYTHONPATH添加到文件中。 
    source ~/.bashrc
  这样,在其他地方打开python,也可以import caffe了。

 

  Caffe+CUDA8.0+CuDNNv5.1+OpenCV3.1+Ubuntu14.04 配置参考文献 以及 常见编译问题总结

 

 


27. caffe 配置 python, some times, it shown us: no module named caffe: 

  at this moment, maybe you should add those codes into your file, like :

  Caffe+CUDA8.0+CuDNNv5.1+OpenCV3.1+Ubuntu14.04 配置参考文献 以及 常见编译问题总结

  then, you can check it again. It will be OK. 

 

28. when install new softwares, I find this error: 

You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
kate : Depends: kdelibs4c2a (>= 4:3.5.9) but it is not going to be installed
Depends: libqt3-mt (>= 3:3.3.8b) but it is not going to be installed
Recommends: kregexpeditor but it is not installable
kscope : Depends: kdelibs4c2a (>= 4:3.5.7-1) but it is not going to be installed
Depends: libaudio2 but it is not going to be installed
Depends: libqt3-mt (>= 3:3.3.8really3.3.7) but it is not going to be installed
Depends: cscope but it is not going to be installed
Depends: exuberant-ctags but it is not going to be installed
Depends: graphviz but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution). 

 

try this operation on the terminal, it will solve this issue: 

==>> $: apt-get -f install    

 

29. when compile matconvnet, it shown me error like this: 

 

>> vl_compilenn('enableGpu', true, 'cudamethod','nvcc')
Warning: Function labindex has the same name as a MATLAB builtin. We suggest you rename the function to avoid a potential name conflict. 
Warning: Function numlabs has the same name as a MATLAB builtin. We suggest you rename the function to avoid a potential name conflict. 
Warning: Function labindex has the same name as a MATLAB builtin. We suggest you rename the function to avoid a potential name conflict. 
> In path at 109
In addpath at 86
In vl_compilenn at 144 
Warning: Function numlabs has the same name as a MATLAB builtin. We suggest you rename the function to avoid a potential name conflict. 
> In path at 109
In addpath at 86
In vl_compilenn at 144 
Warning: Function labindex has the same name as a MATLAB builtin. We suggest you rename the function to avoid a potential name conflict. 
> In path at 109
In addpath at 86
In vl_compilenn at 144 
Warning: Function numlabs has the same name as a MATLAB builtin. We suggest you rename the function to avoid a potential name conflict. 
> In path at 109
In addpath at 86
In vl_compilenn at 144 
vl_compilenn:	CUDA: MEX config file: '/home/wangxiao/Downloads/siamese-fc-master/matconvnet-1.0-beta20/matlab/src/config/mex_CUDA_glnxa64.xml'
Building with 'g++'.
MEX completed successfully.
Building with 'g++'.
MEX completed successfully.
Building with 'g++'.
MEX completed successfully.
Building with 'g++'.
MEX completed successfully.
Building with 'g++'.
MEX completed successfully.
Building with 'g++'.
MEX completed successfully.
Building with 'g++'.
MEX completed successfully.
Building with 'g++'.
MEX completed successfully.
Building with 'g++'.
MEX completed successfully.
/home/wangxiao/Downloads/siamese-fc-master/matconvnet-1.0-beta20/matlab/src/bits/impl/pooling_gpu.cu(163): error: function "atomicAdd(double *, double)" has already been defined

 

1 error detected in the compilation of "/tmp/tmpxft_000034d7_00000000-7_pooling_gpu.cpp1.ii".
Error using vl_compilenn>nvcc_compile (line 521)
Command "/usr/local/cuda-8.0/bin/nvcc" -c "/home/wangxiao/Downloads/siamese-fc-master/matconvnet-1.0-beta20/matlab/src/bits/impl/pooling_gpu.cu" -DNDEBUG -DENABLE_GPU
-DENABLE_DOUBLE -gencode=arch=compute_61,code=\"sm_61,compute_61\" -I"/usr/local/MATLAB/R2014b/extern/include"
-I"/usr/local/MATLAB/R2014b/toolbox/distcomp/gpu/extern/include" -gencode=arch=compute_61,code=\"sm_61,compute_61\" -Xcompiler -fPIC -o
"/home/wangxiao/Downloads/siamese-fc-master/matconvnet-1.0-beta20/matlab/mex/.build/bits/impl/pooling_gpu.o" failed.

 

Error in vl_compilenn (line 466)
nvcc_compile(opts, srcs{i}, objfile, flags.nvcc) ;

  

==>> Update your MatConvnet version. It indeed contain such errors in this version. 

 

30. json_parser_read.hpp:257:264: error: ‘type name’ declared as function returning an array escape 

when compile caffe file in SSD, it shown me the error like this: 

json_parser_read.hpp:257:264: error: ‘type name’ declared as function returning an array escape 

Just like this blog said, you need do this: 

 

修改json_parser_read.hpp:打开文件夹Document,选中computer,在搜索json_parser_read.hpp,找到该文件的路径之后用如下命令打开

 

sudo gedit /usr/include/boost/property_tree/detail/json_parser_read.hpp

 

将257行开始的escape代码段注释掉即可,如下:

 

/*escape
                    =   chset_p(detail::widen<Ch>("\"\\/bfnrt").c_str())
                            [typename Context::a_escape(self.c)]
                    |   'u' >> uint_parser<unsigned long, 16, 4, 4>()
                            [typename Context::a_unicode(self.c)]
                    ;*/

 


 

31.  ImportError: No module named caffe.proto

wangxiao@AHU:~/Documents/caffe$ ./data/VOC0712/create_data.sh
Traceback (most recent call last):
File "/home/wangxiao/Documents/caffe/data/VOC0712/../../scripts/create_annoset.py", line 7, in <module>
from caffe.proto import caffe_pb2
ImportError: No module named caffe.proto
Traceback (most recent call last):
File "/home/wangxiao/Documents/caffe/data/VOC0712/../../scripts/create_annoset.py", line 7, in <module>
from caffe.proto import caffe_pb2
ImportError: No module named caffe.proto 

 

Solution:   export PYTHONPATH=/home/wangxiao/Documents/caffe/python:$PYTHONPATH 

then, run: ./data/VOC0712/create_data.sh  

it will be OK. 

 


 32. ImportError: No Module named caffe:

import sys

sys.path.append("/(你的caffe-master路径)/caffe-master/python")

sys.path.append("/(你的caffe-master路径)/caffe-master/python/caffe")  

 

33. OpenCV Error: 

OpenCV Error: Unspecified error (The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script) in cvShowImage, file /io/opencv/modules/highgui/src/window.cpp, line 583 Traceback (most recent call last):   File "./show_tracker_vot.py", line 30, in <module>     objTrackerVis.trackAll(0, 1)   File "/home/wangxiao/Downloads/goTURN-tensorflow/PY-GOTURN-master/src/tracker_manager.py", line 55, in trackAll     cv2.imshow('input', sMatImage) cv2.error: /io/opencv/modules/highgui/src/window.cpp:583: error: (-2) The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script in function cvShowImage  

==>> do the following opeartions: 

1.Remove installed OpenCV version to avoid mess up later

pip3 uninstall opencv-python 
2.Lower you python version to 3.5(current version 3.6 has different problems with conda, which we will use to install OpenCV)

conda install python=3.5
3.Finally use conda, to install working version of OpenCV 

conda install -c menpo opencv3  
sudo apt-get install libgtk-3-dev 

  

 

34. when running a tensorflow code, it shown me a error: 

ImportError: libcudnn.so.6: cannot open shared object file: No such file or directory

Failed to load the native TensorFlow runtime.

==>> well, this is because the version of tensorflow. Currently, the most recent tensorflow is version 1.3.0, and it need cudnn v6+. but my machine still use the cudnn v5.1. 

Thus the error occured. You can sovle this problem by install tensorflow v1.2.0, as following:

sudo pip install --user tensorflow==1.2.0  

35. How to install keras with specific version, not the newest one ???

sudo pip install keras==1.2

36. ankit@Ankit:~/caffe$ make all
CXX/LD -o .build_release/tools/convert_imageset.bin
.build_release/lib/libcaffe.so: undefined reference to cv::imread(cv::String const&, int)' .build_release/lib/libcaffe.so: undefined reference tocv::imencode(cv::String const&, cv::_InputArray const&, std::vector<unsigned char, std::allocator >&, std::vector<int, std::allocator > const&)'
.build_release/lib/libcaffe.so: undefined reference to `cv::imdecode(cv::_InputArray const&, int)'
collect2: error: ld returned 1 exit status
make: *** [.build_release/tools/convert_imageset.bin] Error 1 

Solution: 

 

1. add "opencv_imgcodecs" in Makefile.(opencv_core opencv_highgui opencv_imgproc opencv_imgcodecs)

2. delete all the file in build(rm -rf ./build/*) before "make all". 

 

  

  

 

上一篇:java & | 运算


下一篇:轻量函数式 JavaScript:三、管理函数输入