SSRnet—keras2caffe--1.Ubuntu16.04基于Anaconda的caffe源码安装
基于Anaconda的caffe源码的安装流程
本人的电脑环境:Ubuntu16.04 + minianaconda + cuda10.0 + python3.6(conda里面的虚拟环境的python版本),下面都是自己安装的时候的流程。
1. anaconda的安装
如果只是使用python的话,推荐使用minianaconda,这个安装还是比较方便的,去网上搜一下就好了
,这边就不赘述了。
2. opencv的安装
我这边安装的opencv是3.4.5的版本,opencv版本过低对cuda10及以上好像是不支持的。
⑴. 首先下载官网的源码包 opencv3.4.5源码下载地址,unzip解压后,并将其放在home的目录下面。
⑵. 对源码进行编译安装:
cd opencv-3.4.5 //进入文件夹
mkdir build //新建build文件夹
cd build //进入build文件夹
//以下三条命令为安装依赖
sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
//编译
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
sudo make -j16 //16线程进行安装,根据自己电脑来
//安装
sudo make install
⑶. 进行环境配置
sudo sh -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'
sudo ldconfig
⑷. 进行检验
pkg-config opencv --modversion //查看电脑opencv的版本
结果输出:
(base) zhr@jtt-X299-UD4-Pro:~$ pkg-config opencv --modversion
3.4.5
到这opencv3.4.5就安装完毕了。
3. hdf5编译安装(Ubuntu若已经安装可跳过这一步)
⑴. 从官网下载hdf5源码 hdf5-1.10.5 中下载hdf5-1.10.5.tar.gz
⑵. 对下载好的hdf5-1.10.5.tar.gz进行如下操作:
//下载的tar.gz文件切换到/opt下
sudo mv hdf5-1.10.5.tar.gz /opt
//进行解压
sudo tar -xvf hdf5-1.10.5.tar.gz
//进入解压后的文件
cd hdf5-1.10.5/
//下面直接进行编译安装
sudo ./configure --prefix=/usr/local/hdf5
sudo make
sudo make check
sudo make install
只要不报错,这样就安装好了
4. Ubuntu16.04 blas、cblas安装(若已安装则跳过)
这是我在编译caffe的时候,最后进行链接库的时候出现
/usr/bin/ld: cannot find -lcblas
这个错误,才发现电脑上blas和cblas都没安装。
⑴. 首先确保已经安装了gfortran编译器,如果没有安装的话,可以使用
sudo apt-get install gfortran
⑵. 下载blas和cblas源码,blas,cblas,并放在home目录下,进行解压
⑶. 首先编译blas
cd BLAS-3.8.0
// 编译所有的 .f 文件,生成 .o文件 加上了-fPIC,不加-fPIC后面caffe编译会出问题
gfortran -c -O3 -fPIC *.f
gcc -shared *.o -fPIC -o libblas.so
cp libblas.so /usr/local/lib/
// 链接所有的 .o文件,生成 .a 文件
ar rv libblas.a *.o
//将库文件复制到系统库目录
sudo cp libblas.a /usr/local/lib
⑷. 编译cblas
cd CBLAS
//首先根据你自己的计算机平台,将目录下某个 Makefile.XXX 复制为 Makefile.in , XXX表示计算机的平台,我是是Lin