Linux下深度学习常用工具的安装
.Matlab 2015 64bit 的安装
(一)安装包下载
百度网盘: [https://pan.baidu.com/s/1gf9IeCN], 密码: 4gj3
(二)Vmware 使用Windows共享目录
更改虚拟机设置时需要将系统关机,挂起状态不可以设置,Linux共享目录位于/mnt/hgfs
(三) 挂载镜像文件
在Terminal中输入如下命令:
cd /mnt/hgfs/
sudo mount -o loop 迅雷下载/R2015b_glnxa64.iso /media/matlab/
(四)执行安装
在Terminal中输入如下命令:
cd /media
mkdir matlab
sudo ./install
(五)破解
将crack文件夹下的libmwservices.so copy到 /usr/local/MATLAB/R2014A/bin/glnxa64
在Terminal中输入如下命令:
cd /usr/local/MATLAB/R2015b/bin/
sudo ./matlab
cd /mnt/hgfs/ 迅雷下载/Matlab\ 2015b\ Linux64\ Crack/R2015b/bin/
sudo cp -r glnxa64 /usr/local/MATLAB/R2015b/bin/
(五)运行测试
运行测试是否成功破解
在Terminal中输入如下命令:
cd /usr/local/MATLAB/R2015b/bin/
sudo ./matlab
2.caffe 安装
(一)配置apt-get源为国内服务器,备份原配置文件,更新地址为清华镜像或阿里镜像
在Terminal中输入如下命令:
cd /etc/apt
sudo cp sources.list sources.list.bak
vi sources.list
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse # 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
(二)依赖包安装
在Terminal中输入如下命令:
sudo apt-get update
sudo apt-get install git
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 libatlas-base-dev
sudo apt-get install python-dev
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
(三)caffe源码下载
git clone https://github.com/bvlc/caffe.git
cd caffe/
mv Makefile.config.example Makefile.config
(四)执行编译
修改Makefile.config,打开CPU_ONLY选项,保存;
即第6行修改为
# CPU-only switch (uncomment to build without GPU support).
CPU_ONLY := 1
第85行修改为
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial/
修改Makefile文件173行
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial
执行编译
make –j4
make test -j4
make runtest -j4
当返回PASSED结果时即为编译成功
#GPU编译错误: undefined reference to `cv::imread(cv::String const&, int),即找不到OpenCVC动态链接库
sudo gedit Makefile , 修改为
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial opencv_core opencv_highgui opencv_imgproc
3.TensorFlow安装
(一)获取并安装python-pip,python-dev
sudo apt-get install python-pip python-dev
(二)下载TensorFlow
https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.8.0-cp27-none-linux_x86_64.whl
(三)安装TensorFlow
pip install tensorflow-0.8.0-cp27-none-linux_x86_64.whl
出现Successfully installed numpy-1.14.3 protobuf-3.0.0b2 tensorflow-0.8.0即说明已经安装成功
注意:如果同时安装了python2和python3,使用pip安装时可能会报错,例如上述安装包tensorflow-0.8.0-cp27-none-linux_x86_64.whl代表python2.7版本的,因此需要使用pip2 install
如何测试:
在Linux Shell中输入python进入交互模式
import tensorflow as tf
hello = tf.constant("Hello World, TensorFlow!")
sess = tf.Session()
print(sess.run(hello))
根据运行结果 Hello World,TensorFlow! 即可判断成功安装
4.Matconvnet的编译
(一)打开Matlab
cd /usr/local/MATLAB/R2015b/bin/
sudo ./matlab
(二)定位到Matconvnet目录,执行编译
cd /usr/local/MATLAB/R2015b/bin/
vl_setupnn
vl_compilenn('verbose',1)
问题1 gcc,g++版本不匹配
#Warning: You are using gcc version '5.4.0-6ubuntu1~16.04.9)'.
#The version of gcc is not supported. The version currently
#supported with MEX is '4.7.x'. sudo apt-get install gcc-4.7
sudo apt-get install g++-4.7
cd /usr/bin/
sudo rm gcc
sudo ln -s gcc-4.7 gcc
gcc -v
sudo rm g++
sudo ln -s g++-4.7 g++
g++ -v
5.CUDA和CUDNN的安装(虚拟机不能使用CUDA)
CUDA是NVIDIA的编程语言平台,想使用GPU就必须要使用cuda,CUDNN是GPU加速计算深层神经网络的库。
以安装Cuda-9.2为例,具体版本请根据实际需求选择
在NVIDIA官网选择驱动下载(https://developer.nvidia.com/compute/cuda/9.2/Prod/local_installers/cuda-repo-ubuntu1604-9-2-local_9.2.88-1_amd64),如出现网络打不开可将链接复制到迅雷下载
执行如下操作:
sudo dpkg -i cuda-repo-ubuntu1604-9-2-local_9.2.88-1_amd64.deb
sudo apt-key add /var/cuda-repo-9-2-local/7fa2af80.pub
sudo apt-get update
sudo apt-get install cuda
nvidia-smi
问题1 由于虚拟机不支持对主机显卡的调用,安装cuda后可能会导致重启后无法进入图形界面
通过执行 sudo apt-get purge nvidia-* 删除原Nvidia显卡驱动,执行reboot即可
问题2 最新版TensorFlow-GPU版本不支持Cuda-9.2(python中执行import tensorflow提示Tensorflow:ImportError:libcusolver.so.9.0)
请安装cuda-9.0
CUDN的安装
②解压文件,并拷贝到usr/local/cuda/目录
#使用如下语句在当前目录解压,解压后生成include和lib64文件夹
tar -zxvf cudnn-9.2-linux-x64-v7.1.tgz
#将lib文件和对应头文件拷贝到/usr/local目录
cd cuda/lib64/
sudo cp lib* /usr/local/cuda/lib64/
cd ../
sudo cp include/cudnn.h /usr/local/cuda/include/
③更新软连接
cd /usr/local/cuda/lib64
sudo rm -rf libcudnn.so libcudnn.so.7
sudo ln -s libcudnn.so.7.1.4 libcudnn.so.7
sudo ln -s libcudnn.so.7 libcudnn.so
④添加环境变量
sudo gedit /etc/profile
在打开的文件中加入如下两句话
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
保存后,使环境变量立即生效
source /etc/profile
⑤安装cudnn example
cd /usr/local/cuda/samples
sudo make all -j4
全部编译完成后,进入 samples/bin/x86_64/linux/release, 运行deviceQuery
cd bin/x86_64/linux/release
./deviceQuery
6.OpenCV的安装和使用
①.依赖库安装
sudo apt-get install cmake
sudo apt-get install build-essential
sudo apt-get install libgtk2.0-dev
sudo apt-get install libavcodec-dev
sudo apt-get install libavformat-dev
sudo apt-get install libjpeg.dev
sudo apt-get install libtiff4.dev
sudo apt-get install libswscale-dev
sudo apt-get install libjasper-dev
②.从官网(https://github.com/opencv/opencv/tree/3.4.1)下载源码,编译安装
cp -r opencv-2.4.13.6.zip /home/shine/Downloads/
cd /home/shine/Downloads/
unzip opencv-2.4.13.6.zip
cd opencv-2.4.13.6/
mkdir build
cd build/
③.创建build目录并在该目录下生成Makefile文件,指定安装路径为/usr/local/(参考 https://stackoverflow.com/questions/45518317/in-source-builds-are-not-allowed-in-cmake)
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local
sudo make -j4
sudo make install -j4
make clean
如需安装opencv_contribute(扩展包中的很多代码并没有通过大量的稳定性测试,但是其基本功能还是可以运行的),对命令进行修改(需自行下载opencv_contrib),例如本例中保存路径为~/Downloads
#如下命令指定安装路径以及扩展包的路径,请根据实际修改
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=~/Downloads/opencv_contrib-master/modules ..
sudo make -j4
sudo make install -j4
make clean
#若出现No package 'gstreamer-video-1.0' found,请参考http://answers.opencv.org/question/95734/cmake-not-picking-gstreamer-on-ubuntu/ #若出现Unknown CMake command "ocv_append_source_files_cxx_compiler_options,请参考https://blog.csdn.net/qq_40155090/article/details/79977423
#配置过程中可能出现face_landmark_model.dat下载过慢导致的失败,请使用VPN下载https://raw.githubusercontent.com/opencv/opencv_3rdparty/8afa57abc8229d611c4937165d20e2a2d9fc5a12/face_landmark_model.dat后放置于/opencv-3.4.1/.cache/data目录
#配置成功后的截图如下所示,May you succeed, congruations and enjoy
#执行sudo make -j4进行编译时可能会遇到各种奇怪的问题(例如hdf5.cpp编译失败),因此需要确保opencv-master与opencv-contribute为一个版本,建议都使用github上的版本 #编译时出现~Download/opencv_contrib-master/modules/xfeatures2d/src/boostdesc.cpp:653:37: fatal error: boostdesc_bgm.i: No such file or directory compilation terminated.
#参考 https://github.com/opencv/opencv_contrib/issues/1301
http://answers.opencv.org/question/113942/cmake-failing-with-hash-mismatch/ #如果问题仍然没有解决,尝试下载上述缺少的文件放在~/Downloads/opencv_contrib-master/modules/xfeatures2d/src目录下即可
#编译时出现opencv2/xfeatures2d/cuda.hpp: No such file or directory
#参考https://github.com/opencv/opencv_contrib/issues/1131,执行cmake -DBUILD_opencv_xfeatures2d=OFF ..
#编译时出现opencv2/sfm/conditioning.hpp: No such file or directory
#执行了sudo make clean;sudo make -j4;后问题解决了(无法解释)
如何查看OpenCV版本
pkg-config --modversion opencv
④.添加库路径
sudo vi /etc/ld.so.conf.d/opencv.conf , 输入/usr/local/lib , :wq保存并退出
⑤.添加环境变量
sudo vi /etc/profile
#在末尾输入
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
#更新环境变量:
source /etc/profile
sudo vi /etc/bash.bashrc #在末尾输入
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
#更新环境变量
source /etc/profile
⑥.更新系统库配置
sudo ldconfig
⑦.查看是否安装成功
pkg-config --cflags opencv
pkg-config --libs opencv
⑧.执行测试程序,定位到sample目录,执行build_all
cd /home/shine/Downloads/opencv-2.4.13.6/samples/c
./build_all.sh
./find_obj
若执行build_all编译时出现如下错误
compiling contours.c
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crti.o: unrecognized relocation (0x2a) in section `.init'
/usr/bin/ld: final link failed: Bad value
collect2: error: ld returned 1 exit status
可能是没有安装binutils,执行
sudo apt-get install binutils
./build_all.sh
./find_obj
7.Jupyter
①安装
sudo pip3 install --upgrade pip
sudo pip3 install jupyter
sudo pip install matplotlib 以上命令使用python3为基础,因此运行jupyter会调用python3,若要使用python2请使用
sudo pip install jupyter
②测试使用
jupyter notebook
随后在浏览器界面即可使用 http://localhost:8888/notebooks 进行登陆
8.shadowsocks
sudo apt-get update
sudo apt-get install python-pip
sudo pip install shadowsocks
sudo gedit /etc/shadowsocks.json
配置shadowsocks,粘贴如下内容
{"server":"xx.xx.xx.xx",
"server_port":xxxx,
"local_address": "127.0.0.1",
"local_port":1080,
"password":"xxxxxxxx",
"timeout":300,
"method":"aes-256-cfb",
"fast_open": true,
"workers": 1
}
sudo sslocal -c /etc/shadowsocks.json -d start
sudo gedit /etc/rc.local
配置开机启动
在exit0上一行加上/usr/local/bin/sslocal -c /etc/shadowsocks.json -d start
①火狐浏览器使用
打开Add-ons,搜索FoxyProxy Standard,点击Add To Firefox,添加完成后点击右上角图表进入Options,即如下图所示
点击左上角Add,其中Title可随便定义,IP以及Port同上shadowsocks配置,默认为127.0.0.1,1080
②谷歌浏览器使用
从github上下载最新的插件SwitchyOmega-Chromium-2.5.15.crx,将其拖到chrome中即可完成安装,同理完成上述配置,点击Apply Changes
可通过右上角选择Direct或proxy选择时候走代理通道
9.Linux下载工具aria2
推荐这个工具主要在于Linux下没有比较好的绿色百度网盘下载器,由于百度对非会员进行速度限制(默认50Kb/s),并强制大文件通过百度云管家下载,具体操作如下
# aria2安装
sudo apt-get install aria2
# 安装浏览器插件,推荐chrome,从github下载zip文件,打开chrome://extensions/,将文件夹中的BaiduExporter.crx拖到浏览器即可
# https://codeload.github.com/acgotaku/BaiduExporter/zip/master
# 将需要下载的文件保存到个人网盘,在界面中选择导出下载,选择其中的文本导出,将窗口中命令复制到命令行中运行即可
#博主测试使用aria2下载速度应该在500kb/s左右
#如果希望达到更快的速度,请参考 https://github.com/proxyee-down-org/proxyee-down
#使用proxyee-down下载同时将分段数调到最大(windows版本请自行百度)
10.sourceinsight
sourceinsight是windows下常用的代码浏览工具,虽然使用vim+ctags也能达到类似的效果,但习惯上还是更倾向于使用sourceinsight
sourceinsight没有linux的发行版本,因此要在ubuntu上运行需要安装wine,具体操作方式如下(需要自行下载sourceinsight安装包,3.5版本激活码SI3US-205035-36448):
sudo apt-get install wine
wine Si3583Setup.exe
参考文献:
1.https://www.nvidia.cn/object/caffe-installation-cn.html (如何在 NVIDIA GPU 上下载并安装CAFFE)
Linux下深度学习常用工具的安装的更多相关文章
- 保姆级教程——Ubuntu16.04 Server下深度学习环境搭建:安装CUDA8.0,cuDNN6.0,Bazel0.5.4,源码编译安装TensorFlow1.4.0(GPU版)
写在前面 本文叙述了在Ubuntu16.04 Server下安装CUDA8.0,cuDNN6.0以及源码编译安装TensorFlow1.4.0(GPU版)的亲身经历,包括遇到的问题及解决办法,也有一些 ...
- 【Tool】 深度学习常用工具
1. caffe 网络结构可视化 http://ethereon.github.io/netscope/quickstart.html 将网络结构复制粘贴到左侧的编辑框,按Shift+Enter就可以 ...
- [原创]Linux下网络性能测试Netperf工具介绍及安装
[原创]Linux下网络性能测试Netperf工具介绍及安装 1 官方网站 http://www.netperf.org/netperf/ 2 Netperf介绍 Netperf是一种网络性能的测试工 ...
- 【one day one linux】linux下的软件包管理工具
Linux 下的软件包管理工具 linux下的软件安装可以通过两种方式,一种是直接使用自带的软件包管理工具安装,另外一种通过编译源码安装. 1.软件包的种类 Red Hat和Fedora:redhat ...
- Linux下查看进程IO工具iopp
Linux下的IO检测工具最常用的是iostat,不过iostat只能查看到总的IO情况.如果要细看具体那一个程序点用的IO较高,可以使用iotop .不过iotop对内核版本和Python版本有要求 ...
- linux下的数据备份工具rsync讲解
linux下的数据备份工具 rsync(remote sync 远程同步) 名词解释: sync(Synchronize,即“同步”)为UNIX操作系统的标准系统调用,功能为将内核文件系统缓冲区的 ...
- Linux:linux服务器稳定性压力测试工具stress安装与使用
stress是一个linux下的压力测试工具,专门为那些想要测试自己的系统,完全高负荷和监督这些设备运行的用户. 1. stress1.0.4下载地址 下载:https://fossies.org/l ...
- Linux下iptables学习笔记
Linux下iptables学习笔记 在Centos7版本之后,防火墙应用已经由从前的iptables转变为firewall这款应用了.但是,当今绝大多数的Linux版本(特别是企业中)还是使用的6. ...
- linux下MySQL 5.6源码安装
linux下MySQL 5.6源码安装 1.下载:当前mysql版本到了5.6.20 http://dev.mysql.com/downloads/mysql 选择Source Code 2.必要软件 ...
随机推荐
- Struts简单的实例
一.创建Aciton类 package com.my.frame; public class HelloWordAction { private String name; public String ...
- svn+jenkins自动部署
需求:项目经理想要将原型图修改完后直接发布 前置条件: 已经有了svn服务器,并正常使用 已经有了jenkins服务器,之前搭建的gitlab+jenkins, 如需搭建jenkins,参考 http ...
- java中activiti框架中的排他网关使用方法,多条件判断
当排他网关的判断条件中出现多个条件时,需要注意,设置判断条件时,可能遇到,流向相同的任务,而判断条件的变量个数不同 那么,必须在后面的运行任务时,将所有的涉及到的变量都设置进任务中,只不过,如果这个任 ...
- zencart清空产品商品实用命令
TRUNCATE TABLE categories; TRUNCATE TABLE categories_description;TRUNCATE TABLE meta_tags_categories ...
- CF #546 D.E
D coun[i]表示[i]这个数右边有多少个数j能和他组成题中所给的二元组(i,j) 如果一个数的coun[i]=n-i-ans 那么说明他可以与最后一个交换 同时不计算贡献 因为它是向右走的 对左 ...
- [易学易懂系列|rustlang语言|零基础|快速入门|(25)|实战2:命令行工具minigrep(2)]
[易学易懂系列|rustlang语言|零基础|快速入门|(25)|实战2:命令行工具minigrep(2)] 项目实战 实战2:命令行工具minigrep 我们继续开发我们的minigrep. 我们现 ...
- 第六章 组件 58 组件切换-使用v-if和v-else结合flag进行切换
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...
- wget 小技巧
一,案例 wget, 一个强大的下载命令.下载文件如果由于中途因本地网络问题断开了,没下载完,重新运行了一下WGET命令,会发现完全在重新下载了,新文件名字会在后面加个1..... 这是wget下载失 ...
- shell进阶--流程
由于条件判断和循环跟其他语言都大同小异,学过编程的话很好理解,这里只贴出格式,不具体写用法了.(select菜单会详细讲一下) 条件判断 if条件判断 普通if条件判断: 嵌套if条件判断: 循环 f ...
- five rendering ideas 里获取csm的 shadow边界做 pcf
http://advances.realtimerendering.com/s2011/White,%20BarreBrisebois-%20Rendering%20in%20BF3%20(Siggr ...