记录我的课题框架Ubuntu16.04 caffe MATLAB 心路历程

    好久之前就准备写,因为各种原因(主要是懒)一直没有写,现在想要整理一下,估计好多都忘了,能记住多少就写多少吧 。。。。。之后想起来在加上

一:系统安装  ubuntu16.04(双系统)

一、 下载ubuntu16.04镜像; 
二、 划分系统安装盘; 
三、使用ultraISO制作Ubuntu 16.04系统U盘启动盘; 

四、 安装Ubuntu系统

1.下载镜像 ubuntu系统官网免费下载地址 http://www.ubuntu.com/download/desktop 制作U盘启动盘(去百度)

2.划分系统安装盘

右键点击我的电脑》管理》磁盘管理,选择一个空间较大的盘,右键选择压缩卷,笔者为Ubuntu16.04划分了100G的空间(空间大小根据自己的需要自行选择,建议如果只是安装作为练习使用有30G就可以,要是自己有运行的程序或者要处理数据还是建议多分一点空间),设置好容量大小后点压缩即可,不用给他设置盘符,我们在安装Ubuntu的时候在重新分区。注意:这种分区我们在Win7里面不能直接查看Ubuntu里的分区,但是在Ubuntu我们可以访问放在硬盘上的任何东西,也就是可以直接查看Win7系统的分区。



压缩完后,我们为Ubuntu分配的30G(分配多少自己看情况)空间就出来了,如下图所示: 



3.安装Ubuntu

  1. 在电脑上插入制作好的U盘启动盘,重启电脑,F2(–》BIOS,选择boot界面,)选择通过USB启动。(不同型号的电脑主板进入BIOS方式有区别) 
    注意:进入boot界面后,不要选择UEFI U盘启动,否则容易出现安装完成后系统无法引导
  2. 不同的U盘型号不一样,选中启动项后,按回车进入。进入后,选择语言为中文,点击(试用)安装Ubuntu
  3. 之后下一步。。。。。。
  4. 在安装类型界然后选择最后一项“其他选项”,以为这样可以自己手动分区,点击继续。

  5. 现在我们看到的是硬盘的分区情况,找到前边有“空闲”二字,我们要做到就是,把空闲的空间给ubuntu划分分区。
  6. 点击“创建新分区表

    继续

    选择产生的空闲分区

    点击的“+”创建4个主要的基础分区

    创建/分区:

    >5G     主分区     空间起始位置     Ext4日志文件系统     /

    创建swap分区:

    2048MB     逻辑分区         空间起始位置     交换空间

    创建boot分区:

    200MB     逻辑分区    空间起始位置     Ext4日志文件系统    /boot

    创建home分区:

    剩余的空间     逻辑分区    空间起始位置     Ext4日志文件系统    /home

    还可创建自己的其他分区如/123分区 只要设置为逻辑分区、空间起始位置、Ext4日志文件系统

    我的只用了20G来安装所以只分了主要的基础分区

    具体看 这个:https://jingyan.baidu.com/article/3c48dd348bc005e10be358eb.html
  7. 点击“空闲”的分区,选择下边的“添加”,上边填写分区空间大小,下边填写要挂载的分区,然后确定

/boot;引导分区,主分区,200M,起始,Ext4日志文件系统,  (经验告诉我200M不够)
交换分区swap,逻辑分区,4000M,起始,交换空间,一般设置为同自己电脑内存大小即可; 
根目录/,逻辑分区,15000M,起始,Ext4日志文件系统(10~15G即可); (多一点)(15*1024)

/home,逻辑分区,剩余空间数,起始,Ext4日志文件系统

重要的一点是在安装启动引导设备选择前面划分的/boot盘,查看/boot分区的编号,然后在下边的“安装启动引导区的设备”下拉框中选择/boot分区的

(记住boot分区编号,记住boot分区编号,记住boot分区编号

重启时出现please remove installation media and close the tray(if any)then press Enter.

这个意思是说:请拨出U盘,并退出这个安装界面,然后按回车

(一定要拔出U盘!一定要拔出U盘!一定要拔出U盘!

7 安装完成后需要重新启动进入win7系统

二:安装cuda8.0

安装依赖库

# sudoapt-get install g++

# sudoapt-get install git

# sudo apt-get install freeglut3-dev

Ctr+alt+f4

进入后台

输入用户名和密码

User

Password

# sudo vi/etc/modprobe.d/blacklist-nouveau.conf

输入

blacklistnouveau

optionsnouveau modeset=0

进入命令模式下按i保存退出(:wq)

然后执行

#sudo update-initramfs -u

执行 lspci |grep nouveau查看是否有内容

# lspci |grep nouveau

如果没有内容 ,说明禁用成功,如果有内容,就重启一下再查看

# sudoreboot now

 

安装cuda 8.0

 

进入命令行模式(ctrl+alt+f4):

输入:sudo servicelightdm stop

Sudo sh cuda_8.0.44_linux.run–no-opengl-libs

按空格键 到100%

依次输入accept

Y

Y

Y

回车

Y

Y

回车

 

1.   安装完以后

2.   sudo service lightdm start

3.   ctrl+alt+t(进入命令行模式)

4.   Cd /usr/local/cuda/samples

5.   Sudo make all -j8

 

添加环境变量

1.   sudo gedit /etc/profile

 

2.     在最后面加入两行代码,如果你还不会用vi进行编辑,请百度

3.   exportPATH=/usr/local/cuda-8.0/bin:$PATH

4.   exportLD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH

5.   source/etc/profile

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

7.    /usr/local/cuda/lib64  
终端下接着输入 
sudo ldconfig 使链接生效

 

测试cuda是否安装成功

8.   Cd/usr/local/cuda/samples/bin/x86_64/linux/release

9.   Sudo./deviceQuery 如果pass说明成功了

10.      

三:安装caffe

1.   sudoapt-get install python-pip

2.    git clone https://github.com/weiliu89/caffe.git安装ssd(caffe)

装caffe的依赖库

1.sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-devlibopencv-dev libhdf5-serial-dev protobuf-compiler 

(如果没成功)

2.sudo apt-get install libprotobuf-dev libleveldb-devlibsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler --fix-missing


3.sudo apt-get install--no-install-recommends libboost-all-dev 
4.sudo apt-get installlibatlas-base-dev 
5.sudo apt-get installlibgflags-dev libgoogle-glog-dev liblmdb-dev  

6.    sudo apt-get installpython-numpy python-scipy python-matplotlib ipython ipython-notebookpython-pandas python-sympy python-nose 

 

 

 

装python的依赖库

1.  cd home/xxx/caffe/python

2.    for req in $(catrequirements.txt); do pip install -i https://pypi.tuna.tsinghua.edu.cn/simple$req; done 

出现红色的警告

需要重新安装对应的未安装成功的库

 

四:配置cudnn5.0

# sudo tarxvf cudnn-7.0-linux-x64-v5.0-rc.tgz (版本可能不一样)

# cdcuda/include

# sudo cp*.h /usr/local/include/

# cd../lib64

# sudo cplib* /usr/local/lib/

# cd/usr/local/lib

# sudochmod +r libcudnn.so.5.0.5  (下载版本不一样后面的序号是不一样的)

# sudo ln-sf libcudnn.so.5.0.5 libcudnn.so.5 (下载版本不一样后面的序号是不一样的)

# sudo ln-sf libcudnn.so.5 libcudnn.so (下载版本不一样后面的序号是不一样的)

# sudoldconfig


注意:运行ssd时出现

Videoioerror V4/v4l

1.解决方案

apt-get install ffmpeg libavcodec-devlibavcodec52libavformat52 libavformat-dev

apt-get install libgstreamer0.10-0-dbglibgstreamer0.10-0libgstreamer0.10-dev

apt-get install libxine1-ffmpeg libxine-devlibxine1-bin

apt-get install libunicap2 libunicap2-dev

apt-get install libdc1394-22-devlibdc1394-22libdc1394-utils

apt-get install swig

apt-get install libv4l-0 libv4l-dev

 

 五:

安装opencv3.0

Sudo unzip opencv-3.0.0.zip

sudo apt-get install cmake

opencv3 必装依赖库:

sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev

2.cd  /opencv-3.0.0/modules/cudalegacy/src  

sudo gedit graphcuts.cpp 

替换内容

/* 

#include "precomp.hpp"

// GraphCut has been removed in NPP 8.0

#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER) ||(CUDART_VERSION >= 8000)

 void cv::cuda::graphcut(GpuMat&, GpuMat&,GpuMat&, GpuMat&, GpuMat&, GpuMat&, GpuMat&, Stream&) {throw_no_cuda(); }

 void cv::cuda::graphcut(GpuMat&, GpuMat&,GpuMat&, GpuMat&, GpuMat&, GpuMat&, GpuMat&, GpuMat&,GpuMat&, GpuMat&, GpuMat&, Stream&) { throw_no_cuda(); }

*/

3.cd opencv-3.0.0

Sudo mkdir build

Cd build

Sudocmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..  

到download ippicv的时候停止 (ctr+c)

(把预先下载的Ippicv_linux_20141027.tgz复制到指令目录,不需要实时下载)

Ippicv_linux_20141027.tgz复制到以下目录下

Opencv-3.0.0/3rdparty/ippicv/downloads/linux…..

再次以下命令会很快通过

Sudocmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local .. 

Cd home/usr(hcy)/opencv-3.0.0/build/

 

编译opencv

make all -j8

sudo make install

复制/opencv-3.0.0/build/lib/cv2.so到 根目下/usr/local/lib/python-2.7/dist-packages/

 

Caffe编译过程 

接下来要进入最后的步骤了,终端中 
cd /home/user/caffe 
cp Makefile.config.example Makefile.config 
gedit Makefile.config 
USE_CUDNN := 1 取消注释,

WITH PYTHON LAYER=1 取消注释

打开opencv3

 
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include后面打上一个空格然后添加/usr/include/hdf5/serial 如果没有这一句可能会报一个找不到hdf5.h的错误 

第二,在make过程中还会报一个ld找不到libhdf5 libhdf5_hl的链接问题,这个原因可能也是因为hdf5的问题,首先看/usr/lib/x86_64-linux-gnu 目录下有没有libhdf5.solibhdf5_hl.so,如果有的话,查看属性是否有正确的链接(正常情况下应该是没有这两个文件),然后右键在终端中打开 
sudo ln libhdf5_serial.so.10.1.0 libhdf5.so 
sudo ln libhdf5_serial_hl.so.10.0.2 libhdf5_hl.so 
注意,10.1.010.0.2可能不同电脑安装版本不同,注意看当前目录下存在的文件然后 
sudo ldconfig 生效 

 

cd /home/user/caffe 

sudosu(进入管理员模式)
make all -j8
make test -j8
make runtest 
make pycaffe 

makematcaffe

gedit/etc/profile

下面加上:exportPYTHONPATH=/home/XXX/caffe/python:$PYTHONPATH*

 

把模型VGG放到module

  

六:MATLAB安装与配置

(添加路径   修改caffe里的makefile.configl 第一个#去掉 把路径写进去 /usr/local/MATLAB/R2014a)\
MATLAB_DIR := /usr/local/MATLAB/R2014a
1.安装MATLAB的Linux版本(自己去下载 百度网盘)

2.配置接口

先解压part1

cd到MATLAB文件夹(到解压之后的地方,解压之后是镜像.iso)unrar.........

sudo ./install 安装 选择不联网安装


(1)修改caffe文件夹下的Makefile.config中Matlab的路径,即添加

[html]  view plain  copy
  1. MATLAB_DIR := /usr/local/R2014a


(2)将Matlab的安装路径添加到PATH中


先打开.bashrc文件,

[html]  view plain  copy
  1. sudo gedit ~/.bashrc   
在该文件末尾加入如下语句 
[html]  view plain  copy
  1. export PATH=$PATH:/usr/local/R2016b/bin 

(3)不需要改动gcc版本

(4)caffe.set_mode_cpu();   (make mattest)

会报错


出现的错误与http://blog.csdn.net/u012746763/article/details/50419153中提到的完全一样,因此我采纳了文中的建议,执行了下面的命令

[html]  view plain  copy
  1. export LD_LIBRARY_PATH=/usr/local/R2016b/sys/os/glnxa64  
  2. export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libstdc++.so.6  
接着重新运行命令
[html]  view plain  copy
  1. make mattest  

出错


这与http://www.cnblogs.com/laiqun/p/6031925.html中列出的错误是一致的,所以我又使用了该文中的建议,执行下列命令

[html]  view plain  copy
  1. export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/:/usr/local/cuda-8.0/lib64  
  2. export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libopencv_highgui.so.2.4:/usr/lib/x86_64-linux-gnu/libopencv_imgproc.so.2.4:/usr/lib/x86_64-linux-gnu/libopencv_core.so.2.4:/usr/lib/x86_64-linux-gnu/libstdc++.so.6:/usr/lib/x86_64-linux-gnu/libfreetype.so.6  
最后再次执行命令
[html]  view plain  copy
  1. make mattest  
环境变量:


创建连接

sudo ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /usr/local/MATLAB/R2014a/sys/os/glnxa64/libstdc++.so.6

打开MATLAB

sudo su

cd caffe

source /etc/profile

source ~/.bashrc

ldconfig

matlab 

打开MATLAB之后需要把路径加进去(path)

path:caffe里的matlab

         /usr/local/MATLAB/


OK! 写到这里就结束了!写的有点混乱,尤其是MATLAB部分 好多都忘了 只是做个记录,以免以后忘记吐舌头吐舌头吐舌头

参考文献

http://blog.csdn.net/u012260238 https://blog.csdn.net/u012260238/article/details/52713546

https://blog.csdn.net/auto1993/article/details/64965255

https://blog.csdn.net/rt5rte54654/article/details/54742981

https://blog.csdn.net/chandoudeyuyi/article/details/59651406(window10与Ubuntu16.04双系统)

https://blog.csdn.net/fesdgasdgasdg/article/details/54183577(window10与Ubuntu16.04双系统)

https://blog.csdn.net/s717597589/article/details/79117112(window10与Ubuntu16.04双系统)

https://blog.csdn.net/g0m3e/article/details/51420565
转载请注明https://blog.csdn.net/csdn20171125/article/details/80091021
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值