系统相关
首页 > 系统相关> > 基于Anaconda编译caffe+pycaffe+matcaffe in Ubuntu[不用sudo权限]

基于Anaconda编译caffe+pycaffe+matcaffe in Ubuntu[不用sudo权限]

作者:互联网

目录

caffe

编译

环境

大前提!!

在服务器上面装,但是没有sudo权限,所以依赖的包都只能装在自己用户下的conda环境里

github下载caffe源码

BVLC/caffe

依赖

  1. anaconda3

  2. 装好之后,新建环境,最好用python2.7。下面都是装在这个新建的conda环境里,所以要注意先进入该环境!

  3. 在caffe/python目录下

    pip install -r requirements.txt   #requirements.txt 
  4. 在conda的环境中装必要的包

    我装的版本 python2, opencv3

    版本一致很重要!

    conda install boost

    conda install glog

    conda install gflags

    conda install libprotobuf

    conda install hdf5=1.8.16 #[!重要]

    conda install lmdb

    conda install leveldb

    conda install -c menpo opencv3 #[!重要 一定要指定好版本 用默认的命令会装最新的 之前用默认就装到了最新的4.1版 ...]

    由于我是在conda环境下的,还是装一下cudatoolkit:

    [!重要] 要和本机装的CUDA的版本一致!! 包括后面的子编号!我之前只看到conda装的cudatoolkit是10,本机的CUDA也是10,就认为一致,但其实本机的CUDA是10.0.x,conda默认装了最新的 cudatoolkit是10.1.x,后来卸载掉conda装的高版本,重新装10.0.x版本的cudatoolkit才行

    • conda装 cudatoolkit 一般默认会装好cudnn,可以用 conda list | grep 'cu' 查看
  5. 装OpenBLAS

    从源码安装

    git clone https://github.com/xianyi/OpenBLAS.git
    cd OpenBLAS
    make FC=gfortran -j $(($(nproc) + 1))
    make PREFIX=~/Openblas install
    echo 'export LD_LIBRARY_PATH=/home/shaoxiaowen/Openblas/lib:$LD_LIBRARY_PATH' >> ~/.bashrc
    source ~/.bashrc
  6. [可选]如果要用matcaffe

    装matlab,在linux下装完之后要激活,因为是用学校买的正版产品,需要用桌面环境打开安装程序。。

    VNC用gnome桌面好难。。一直不出来terminal,最后还是改用xfce4桌面 照抄别人的配置。。终于激活上了!配置文件放在 ~/.vnc/xstartup

    #!/bin/sh                                                                                                                    
    x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
    session-manager & xfdesktop & xfce4-panel &                                     
    xfce4-menu-plugin &                                                            
    xfsettingsd &                                                                 
    xfconfd &                                                             
    xfwm4 &               

修改源码的编译配置

修改Makefile.config,按照自身设备的条件

修改Makefile

报错

tips

caffe源码的github仓库下的issue是个好东西,关键字search用起来! https://github.com/BVLC/caffe/issues

==不用CMAKE,直接MAKE==

[LATEST!!]

make all -j32

报错要用c++11

原来一直没装上opencv

报错没有 boost_python

报错mexext command not found

报错 缺乏一些OpenCV的lib

没有报错了,接着编译pycaffe 和 matcaffe:

make pycaffe -j32
make matcaffe -j32

make runtest(其实这个没成功但是上面的都能正常用了就算了!)

==用CMAKE==

[貌似最后没完全成功,但是 make all 和 make pycaffe 似乎是OK的,

不过这些报错的解决方法应该是OK的,只是后面还有新的报错就懒得再管了,

放弃cmake直接在根目录下make了,这似乎是比较主流的做法]

cmake报的错:

注意,CMAKE编译时设置DEBUG or RELEASE模式

https://blog.csdn.net/u010103202/article/details/75447473

cmake -DCMAKE_BUILD_TYPE=RELEASE /DEBUG

不同模式最好放在不同目录下编译

报错boost

报错找不到boost python

make阶段:
make all -j32

报错libprotobuf版本比较高 需要用C++11编译

make pycaffe -j32

报错没有cudnn

报错opencv

make matcaffe -j32

测试使用

https://blog.csdn.net/wzz18191171661/article/details/70149070

pycaffe

编译完之后,测试pycaffe:

import caffe
caffe.__version__

caffe

测试caffe,在caffe的根目录下:

./data/mnist/get_mnist.sh
./examples/mnist/create_mnist.sh
./examples/mnist/train_lenet.sh

Check failed: mdb_status == 0 (2 vs. 0) No such file or directory

一般报错这个,大多是 数据集的路径不对!看看prototxt里面指定了数据集的路径里,有没有数据集!

matcaffe

make mattest

报错 一大堆动态库找不到,这些动态库都是装在conda环境下的

报错 Could not convert handle to pointer due to invalid init_key. The object might have been cleared.

在MATLAB使用的时候可能要先添加 matcaffe的路径:

标签:caffe,lib,make,sudo,pycaffe,报错,https,Ubuntu,conda
来源: https://www.cnblogs.com/notesbyY/p/11594435.html