ubuntu16.04安裝cuda8+opencv3.4+tensorflow
一. ubuntu系統安裝
1. 安裝盤製作
用universal-usb-installer-1.9.7.8.exe在windows下製作ubuntu16.04的安裝盤。
分割槽選擇為FAT32,iso檔案版本ubuntu-16.04.3-desktop-amd64.iso
2. 系統安裝過程
設定為U盤啟動,不要選擇UEFI模式,選擇FAT模式啟動,然後安裝ubuntu。
分割槽建議:/boot 300M swap 32G / 200G /home剩下所有的
不要選擇安裝系統更新
二.cuda8安裝
1. 禁用驅動
$ lsmod | grep nouveau
如果有顯示就要執行下面的操作了
sudo touch /etc/modprobe.d/blacklist-nouveau.conf
sudo gedit /etc/modprobe.d/blacklist-nouveau.conf
新增的內容
blacklist nouveau
options nouveau modeset=0
更新一下:
$ sudo update-initramfs -u
重新啟動系統,然後再檢查是否禁用成功。
$ lsmod | grep nouveau
沒有輸出就是成功。
如果失敗,百度解決方案
2. 關閉圖形介面
按ctrl+alt+f1 進入tty1
$ sudo service lightdm stop
3. 先按照顯示卡驅動
sudo sh NVIDIA-Linux-x86_64-375.82.sh
update x: yes
32bit庫: no
4. 再安裝cuda8
sudo chmod a+x cuda_8.0.61_375.26_linux.run
sudo sh cuda_8.0.61_375.26_linux.run --no-opengl-libs
按q退出閱讀readme,輸入accept接受協議繼續;
是否安裝driver,no
run nvidia-xconfig,選預設的no
32bit庫: no
剩下的y和回車就好,一些安裝和路徑的設定
5.重啟圖形介面
$ sudo service lightdm start
一般來說會直接進系統,不會迴圈登陸。
ubuntu14.04可能會出現迴圈登陸,請嘗試修改BIOS設定換其他顯示器介面,
無法解決只能重新安裝系統。
6.檢查是否成功
nvidia-smi 應該可以看到電腦上的GPU卡
ls /dev/nvidia* 如果沒有輸出,則參考部落格文章解決
http://blog.csdn.net/sinat_19628145/article/details/60475696
7.配置環境變數
sudo gedit /etc/profile
新增如下程式碼
export PATH=/usr/local/cuda-8.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:/usr/local/cuda-8.0/lib:$LD_LIBRARY_PATH
執行 source /etc/profile
檢查設定是否成功 env
8.編譯cuda的例子
cd到例子存放的路徑,預設路徑是 ~/NVIDIA_CUDA-8.0_Samples
(即 /home/xxx/ NVIDIA_CUDA-8.0_Samples, xxx是你自己的使用者名稱)
然後終端輸入:
# make
cd ~/NVIDIA_CUDA-8.0_Samples/bin/x86_64/linux/release
執行 ./deviceQuery
和 ./bandwidthTest
可以看到GPU顯示卡配置資訊
檢查 NVIDIA Driver
# cat /proc/driver/nvidia/version
會有NVIDIA Driver的版本號
檢查 CUDA Toolkit
# nvcc –V
會輸出CUDA的版本資訊
三、Ubuntu 16.04 LTS安裝 TeamViewer
https://www.cnblogs.com/aiguona/p/7182876.html
64位Ubuntu 16.04系統需要新增32位架構支援,命令如下。
sudo dpkg --add-architecture i386
sudo apt-get update
現在,安裝TeamViewer的依賴包。
sudo apt-get install libdbus-1-3:i386 libasound2:i386 libexpat1:i386 libfontconfig1:i386 libfreetype6:i386 libjpeg62:i386 libpng12-0:i386 libsm6:i386 libxdamage1:i386 libxext6:i386 libxfixes3:i386 libxinerama1:i386 libxrandr2:i386 libxrender1:i386 libxtst6:i386 zlib1g:i386 libc6:i386
用已經下載好的安裝包安裝
sudo dpkg -i teamviewer_12.0.76279_i386.deb
或者下載安裝TeamViewer。
wget http://download.teamviewer.com/download/teamviewer_i386.deb
sudo dpkg -i teamviewer_i386.deb
安裝完成後就能從Unity的Dash選單裡啟動TeamViewer了。
啟動之後設定teamviewer隨系統啟動,並設定密碼
四、安裝cudnn
$ cd ~/soft
$ tar xvf cudnn-8.0-linux-x64-v6.0.tgz
$ cd cuda/include
$ sudo cp *.h /usr/local/include/
$ sudo cp *.h /usr/local/lib/
$ cd ../lib64
$ sudo cp lib* /usr/local/lib/
$ cd /usr/local/lib
# sudo chmod +r libcudnn.so.6.0.20
$ sudo ln -sf libcudnn.so.6.0.20 libcudnn.so.6
$ sudo ln -sf libcudnn.so.6 libcudnn.so
$ sudo ldconfig
五、編譯安裝opencv
1. 安裝前準備
####for caffe http://www.jianshu.com/p/69a10d0a24b9
$ sudo apt-get install libatlas-base-dev libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler
##for cuda
sudo apt-get install build-essential libx11-dev libxmu-dev libxi-dev
#for opencv, python
sudo apt-get install python-scipy python-numpy python-matplotlib
2. 解壓原始碼安裝包
tar xvf opencv3.3-git.tar
mv opencv3.3 ../opencv3.3
cd ../opencv3.3
或者從github上clone:
sudo apt install git
git clone https://github.com/Itseez/opencv.git
當前目錄應該生成了一個opencv的目錄
mv opencv opencv3.3
cd opencv3.3
git clone https://github.com/Itseez/opencv_contrib.git
目錄/opencv3.3/opencv_contrib 為 opencv_contrib 原始碼目錄
git方式可能導致opencv版本大於3.3,建議使用soft目錄的opencv原始碼
3.安裝依賴庫:
$ sudo apt-get install gcc g++ cmake pkg-config build-essential
$ sudo apt-get install libgtk2.0-dev libavcodec-dev libavformat-dev libtiff5-dev libswscale-dev libjasper-dev
ubuntu14.04的系統為 libtiff4-dev
4.到程式碼目錄編譯opencv原始碼
$ cd opencv3.3/
$ mkdir build
$ cd build
執行
sudo cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules PYTHON2_EXECUTABLE=/usr/bin/python2 PYTHON_INCLUDE_DIR=/usr/include/python2.7 PYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython2.7.so PYTHON2_NUMPY_INCLUDE_DIRS=/usr/lib/python2.7/dist-packages/numpy/core/include/numpy ..
如果執行失敗,請檢查上述的命令中的目錄是否存在。如果不存在,嘗試安裝或更改路徑
sudo make -j4
sudo make install
5.安裝完成後,配置pkg-config,用於管理opencv安裝庫
$ sudo gedit /etc/ld.so.conf
在檔案的最後一行新增 include /usr/local/lib
$ sudo ldconfig -v
$ export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
使用以下命令檢視pkg-config配置資訊: pkg-config --libs opencv
6.測試安裝是否完成,測試程式採用opencv自帶的sample:
$ cd ~/opencv3.3/samples/
$ cmake .
$ make
$ cd cpp/
裡面就是剛剛make的檔案,可以選擇幾個可執行檔案進行執行,測試opencv是否安裝成功。
7.檢視python-opencv的版本
dell@dell-linux:~/opencv3.3/build$ python
Python 2.7.6 (default, Oct 26 2016, 20:30:19)
[GCC 4.8.4] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> print cv2.__version__
3.3.1-dev
六、編譯caffe
參考網站 http://www.jianshu.com/p/69a10d0a24b9
1. 解壓原始碼
cd soft
tar xvf caffe_src_171210.tar
mv caffe ../caffe171210
cd ../caffe171210
或者從Github克隆Caffe原始碼,但可能版本不一樣導致編譯失敗
sudo apt install git
git clone https://github.com/BVLC/caffe.git
2. 修改配置檔案makefile
開啟 caffe 所在目錄,找到Makefile.config.example檔案,將其改名為Makefile.config,開啟。
將# USE_CUDNN := 1一行開頭的#刪除,在 MakeFile.config 中開啟 cuDNN模式 。
將# OPENCV_VERSION := 3一行開頭的#刪除,在 MakeFile.config 中開啟 OPENCV3.3 。
執行命令編譯:
make -j4
等待編譯完成即可。
注意:如果出現以下錯誤
./include/caffe/util/hdf5.hpp:6:18: fatal error: hdf5.h: No such file or directory
解決方法如下:
在Makefile.config檔案的第94行(行數可能會變),新增 /usr/include/hdf5/serial/ 到 INCLUDE_DIRS,也就是把下面第一行程式碼改為第二行程式碼。
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial/
在Makefile檔案的第181行(行數可能會變),把 hdf5_hl 和hdf5修改為hdf5_serial_hl 和 hdf5_serial,也就是把下面第一行程式碼改為第二行程式碼。
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_hl hdf5
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial
3. 配置 caffe 環境
caffe 執行時需要呼叫 cuda 的庫,我們在/etc/ld.so.conf.d目錄下新建一個cafe.conf檔案。
終端輸入
$ sudo gedit /etc/ld.so.conf.d/caffe.conf
開啟 gedit 。新增內容:
/usr/local/cuda/lib64
儲存退出。
更新配置
$ sudo ldconfig
所有配置結束。
七、測試caffe
# cd ~/caffe
# sudo sh data/mnist/get_mnist.sh
# sudo sh examples/mnist/create_mnist.sh
# sudo sh examples/mnist/train_lenet.sh
感受1080開啟cuDNN模式的強大吧!
八、安裝tensorflow
https://www.tensorflow.org/install/install_linux
1. 不需要執行下面的命令
#sudo apt-get install libcupti-dev
2. Installing with virtualenv
$ sudo apt-get install python-pip python-dev python-virtualenv # for Python 2.7
$ sudo apt-get install python3-pip python3-dev python-virtualenv # for Python 3.n
3. Create a virtualenv environment by issuing one of the following commands:
virtualenv --system-site-packages ~/tensorflow-python2
virtualenv --system-site-packages -p python3 ~/tensorflow-python3
$ virtualenv --system-site-packages targetDirectory # for Python 2.7
$ virtualenv --system-site-packages -p python3 targetDirectory # for Python 3.n
4. Activate the virtualenv environment by issuing one of the following commands:
$ source ~/tensorflow/bin/activate
The preceding source command should change your prompt to the following:
(tensorflow)$
5. Ensure pip ≥8.1 is installed:
(tensorflow)$ easy_install -U pip
6. Issue one of the following commands to install TensorFlow in the active virtualenv environment:
(tensorflow)$ pip install --upgrade tensorflow # for Python 2.7
(tensorflow)$ pip3 install --upgrade tensorflow # for Python 3.n
(tensorflow)$ pip install --upgrade tensorflow-gpu # for Python 2.7 and GPU
(tensorflow)$ pip3 install --upgrade tensorflow-gpu # for Python 3.n and GPU
pip3 install --upgrade tensorflow-gpu==1.4
7. Validate your installation
Start a terminal. Invoke python:
$ python
Enter the following short program inside the python interactive shell:
# Python
import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))
8. Test tensorflow with GPU
$ python Test.py
9.在選定的GPU上執行
CUDA_VISIBLE_DEVICES=0 python Test.py
或者:
import os
os.environ['CUDA_VISIBLE_DEVICES']='0'
相關文章
- ubuntu16.04安裝rosUbuntuROS
- 安裝kalibr Ubuntu16.04Ubuntu
- ubuntu16.04 下安裝mysqlUbuntuMySql
- Ubuntu16.04安裝、使用typoraUbuntu
- ubuntu16.04 下kvm安裝Ubuntu
- ubuntu16.04 CUDA, CUDNN 安裝UbuntuDNN
- Ubuntu16.04雙系統安裝及解除安裝Ubuntu
- UBuntu16.04下安裝Docker(親測)UbuntuDocker
- Ubuntu16.04下安裝gtsam-3.2.1Ubuntu
- ubuntu16.04下安裝NS3.27UbuntuS3
- ubuntu16.04安裝Tomact8UbuntuMac
- ubuntu16.04 安裝 rime輸入法Ubuntu
- ubuntu16.04系統下安裝dockerUbuntuDocker
- Ubuntu16.04安裝最新版nodejsUbuntuNodeJS
- 華碩飛行堡壘安裝Ubuntu16.04Ubuntu
- ubuntu16.04下的MySQL離線安裝UbuntuMySql
- 在Ubuntu16.04上安裝LEMP環境Ubuntu
- Ubuntu16.04安裝QQ(圖文說明)Ubuntu
- ubuntu16.04 PHP7安裝與Nginx PHPUbuntuPHPNginx
- Ubuntu16.04 percona MySQL客戶端安裝UbuntuMySql客戶端
- win8.1平板安裝ubuntu16.04的折騰Ubuntu
- Ubuntu16.04中安裝gcc4.9和g++4.9UbuntuGC
- 基於Ubuntu16.04的django+uwsgi+nginx安裝部署UbuntuDjangoNginx
- 【MindSpore】Ubuntu16.04上成功安裝GPU版MindSpore1.0.1UbuntuGPU
- ORB_SLAM2安裝編譯測試ubuntu16.04ORBSLAM編譯Ubuntu
- Ubuntu16.04 php5安裝失敗解決方案UbuntuPHP
- ubuntu16.04安裝python3.6.7遇到的坑記錄UbuntuPython
- Ubuntu16.04下安裝破解secureCRT和secureFX的操作記錄UbuntuSecurecrt
- ubuntu16.04在Linux安裝Vivado2017.4UbuntuLinux
- 環境 | ubuntu16.04系統安裝及基本軟體配置Ubuntu
- 【TensorFLow】Ubuntu16.04安裝CUDA8.0+cuDNN6.0+TensorFlowUbuntuDNN
- 在win7系統中用U盤安裝ubuntu16.04Win7Ubuntu
- ubuntu16.04下CUDA9.1+OPENCV3.1安裝記錄UbuntuOpenCV
- Ubuntu16.04不用管理員許可權安裝caffe依賴(上)Ubuntu
- ubuntu16.04 安裝 npm和node,利用n模組切換node版本UbuntuNPM
- 樹莓派裝Ubuntu16.04樹莓派Ubuntu
- Ubuntu16.04下安裝CUDA9.0和CUDNN7.0填坑UbuntuDNN
- ubuntu16.04安裝英偉達顯示卡驅動,CUDA,CUDAA,TensorFlow(GPU),opencv,numpyUbuntuGPUOpenCV