系列(二),Python3.6、tensorflow"/>
Ubuntu16.04 安装后配置系列(二),Python3.6、tensorflow
相关链接:Ubuntu配置一
一、安装python3.6
二、安装NVIDIA驱动,有两种方法,一种是命令行安装源文件,一种是ppa源安装
三、安装CUDA 和 CUDNN
四、安装tensorflow
五、安装opencv
一、安装python3.6
1,Ubuntu16.04中添加python3.6软件包并安装
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:jonathonf / python-3.6
sudo apt-get update
sudo apt-get install python3.6
sudo add-apt-repository ppa:jonathonf / python-3.6
sudo apt-get update
sudo apt-get install python3.6
2,调整python3.6为默认
(1)调整python3.6为python3的默认
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.5 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 2
sudo update-alternatives --config python3
在终端中输入python3可以验证
更改完成之后要做如下设置,不然ctrl+alt+T将无法打开终端
进入路径/usr/lib/python3/dist-packages/gi
将里面的_gi_cairo.cpython-35m-x86_64-linux-gnu.so和_gi_cairo.cpython-35m-x86_64-linux-gnu.so两个文件名中的35改为36,命令如下:
mv _gi_cairo.cpython-35m-x86_64-linux-gnu.so _gi_cairo.cpython-36m-x86_64-linux-gnu.so
mv _gi.cpython-35m-x86_64-linux-gnu.so _gi.cpython-36m-x86_64-linux-gnu.so
(2)调整python3为python的默认
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150
撤回更改需要输入
sudo update-alternatives --config python
3,配置python3.6的基础库,这一步至关重要,如果不配置,极其影响后面的相关配置,例如opencv会找不到python.h文件
sudo apt-get install libpython3.6-dev
4,安装pip3
sudo apt install python3-pip
二、安装NVIDIA驱动,有两种方法,一种是命令行安装源文件,一种是ppa源安装
我笔记本的配置是Ubuntu16.04+NVIDIA GTX850
去官网查询合适自己电脑的NVIDIA驱动
.aspx?lang=en-us
我选择的版本是390.67,
(一)ppa源安装
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-get install nvidia-390 #此处要根据上面查询到的版本适当更改
sudo apt-get install mesa-common-dev
sudo apt-get install freeglut3-dev
安装完成后测试
nvidia-smi #出现电脑gpu列表
nvidia-settings #出现电脑显卡信息
(二)下载“.run”文件后命令行安装
1, 卸载可能存在的NVIDIA相关驱动等
(1)ctrl+alt+F1切换到纯命令行环境,并关闭图形界面
sudo service lightdm stop
把指令中的stop替换成start可以重新打开图形界面
(2)执行指令
sudo apt-get remove --purge nvidia*
3,禁用nouveau
(1)进入配置文件,
gedit /etc/modprobe.d/blacklist.conf
(2)将nouveau加入黑名单,在文件的末尾加上
blacklist nouveau
(3)执行下面命令并重启
sudo update-initramfs -u
(4)重启后在终端输入
lsmod | grep nouveau
如果没有输出,则nouveau禁用成功
4,安装NVIDIA驱动
(1)重启,在出现登录界面还未登陆进入时(否则可能会失效),ctrl+alt+F1切换到命令行操作,并禁用图形界面
(2)使用cd指令切换到nvidia驱动所在的文件位置,更改文件执行权限,并执行
sudo chmod a+x NVIDIA-Linux-x86_64-375.20.run
sudo ./NVIDIA-Linux-x86_64-375.20.run –no-opengl-files
#–no-opengl-files尤其重要,如果安装opengl之后,会出现一些问题
(3)在具体执行时要按照提示输入accept,yes,no等,在第一个问题The distribution-provided pre-install script failed! Are you sure you want to continue? 下选择continue,其余均按照默认选择即可
(4)挂载nVidia驱动
modprobe nvidia
(5)测试
nvidia-smi #出现电脑gpu列表
nvidia-settings #出现电脑显卡信息
(6)返回图形界面,如果出现重复登陆的问题,那么很可能是你安装了opengl,请卸载重新安装即可
三、安装CUDA 和 CUDNN
1,查询合适自己电脑的及NVIDIA的版本的cuda版本和cudnn版本, 我选择的是CUDA9.0+CUDNN7.1并下载
2,安装cuda
(1)重启,在出现登录界面还未登陆进入时(否则可能会失效),ctrl+alt+F1切换到命令行操作,并禁用图形界面
(2)使用cd指令切换到nvidia驱动所在的文件位置,更改文件执行权限,并执行,和安装nvidia的指令基本相同,但是在问题Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 361.62?要尤其注意选择no,不然之前的nvidia驱动就白装了,其余也要输入accept,yes等
(3)安装完成后推出命令行操作,恢复图形界面
3,重启电脑,并检查Device Node Verification
执行指令
ls /dev/nvidia*
如果出现结果为三个文件/dev/nvidia0 /dev/nvidiactl /dev/nvidia-uvm,或者包含这三个文件极为正确
如果只有/dev/nvidia0 /dev/nvidiactl而没有第三个文件,解决方法如下:
$ sudo vi /etc/rc.local
文件除注释行外为空,若第一行为
#!/bin/sh -e
应将-e去掉(不然修改无效),把改文件文本变成如下样子
#!/bin/bash/sbin/modprobe nvidiaif [ "$?" -eq 0 ]; then
# Count the number of NVIDIA controllers found.
NVDEVS=`lspci | grep -i NVIDIA`
N3D=`echo "$NVDEVS" | grep "3D controller" | wc -l`
NVGA=`echo "$NVDEVS" | grep "VGA compatible controller" | wc -l`N=`expr $N3D + $NVGA - 1`
for i in `seq 0 $N`; do
mknod -m 666 /dev/nvidia$i c 195 $i
donemknod -m 666 /dev/nvidiactl c 195 255else
exit 1
fi/sbin/modprobe nvidia-uvmif [ "$?" -eq 0 ]; then
# Find out the major device number used by the nvidia-uvm driver
D=`grep nvidia-uvm /proc/devices | awk '{print $1}'`mknod -m 666 /dev/nvidia-uvm c $D 0
else
exit 1
fi
重启即可解决问题
4,配置环境变量
终端中输入
sudo gedit /etc/profile
在打开的文件末尾,添加以下两行。
export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64 ${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
执行下面指令使之生效,然后重启
source /etc/profile
5,测试
重启后输入指令显示
cat /proc/driver/nvidia/version
输入nvcc -V
如果显示The program 'nvcc' is currently not installed. You can install it by typing: sudo apt-get install nvidia-cuda-toolkit,说明没有环境没有配置好或者没有安装成功
6,编译cuda提供的例子
cd /home/xxx/NVIDIA_CUDA-9.0_Samples #根据自己的文件位置进行调整
make
cd bin/x86_64/linux/release
执行 ./deviceQuery 显示
执行./bandwidthTest(检查一下系统和CUDA-Capable device的连接情况)
7,安装cudnn
(1),将下载的cudnn的压缩包解压
(2),将其移动到相应目录
sudo cp cuda/include/cudnn.h /usr/local/cuda/include
sudo cp -a cuda/lib64/libcudnn* /usr/local/cuda/lib64
(3),配置环境,链接
cd ~ sudo gedit .bashrc
在弹出的文档的最后加上
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
之后执行
source .bashrc
然后重启终端
之后更改cudnn.h操作权限
sudo chmod a+r /usr/local/cuda/include/cudnn.h
a+r /usr/local/cuda/include/cudnn.h
四、安装tensorflow
pip安装:
pip install tensorflow-gpu
测试,在终端输入python出现转换到python的命令界面,依次输入
import tensorflow as tf
sess = tf.Session()
a = tf.constant(1)
b = tf.constant(2)
print(sess.run(a+b))
五、安装opencv
1,下载opencv和opencv_contrib
下载网址:
分别在opencv和opencv_contrib的release下选择相应的版本,二者版本要相同
2,安装依赖包
(1), libopencv-dev依赖包
sudo apt install libopencv-dev
(2), 相关的基础库
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 libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev#处理图像所需的包
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev liblapacke-dev
sudo apt-get install libxvidcore-dev libx264-dev#处理视频所需的包
sudo apt-get install libatlas-base-devgfortran#优化opencv功能
sudo apt-get install ffmpeg
(3)配置ceres库
# CMake
sudo apt-get install cmake
# google-glog + gflags
sudo apt-get install libgoogle-glog-dev
# BLAS & LAPACK
sudo apt-get install libatlas-base-dev
# Eigen3
sudo apt-get install libeigen3-dev
# SuiteSparse and CXSparse (optional)
clone
cd ceres-solver
mkdir build && cd build
cmake ..
make -j4
make test
sudo make install
3,安装Google/glogs
网址下载源码
解压进入glog文件
mkdir build
cd build
cmake ..
sudo make -j24
make install
4,安装gflags
源码地址:,下载下来解压里面有INSTALL.md详细说明了如何编译安装,可以安装说明中的采用ccmake编译,也可以采用第7步中的方式,效果相同,但是建议采用INSTALL中介绍的方法进行安装
tar xzf gflags-$version-source.tar.gz
cd gflags-$version
mkdir build && cd build
ccmake ..- Press 'c' to configure the build system and 'e' to ignore warnings.- Set CMAKE_INSTALL_PREFIX and other CMake variables and options.- Continue pressing 'c' until the option 'g' is available.- Then press 'g' to generate the configuration files for GNU Make.make
make test (optional)
make install (optional)
5,安装OpenBLAS
git clone git://github/xianyi/OpenBLAS
cd OpenBLAS
sudo make FC=gfortra
sudo make install
6,在opencv目录下新建build文件并切换到build目录下
mkdir build
cd build
7,cmake,make和install
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
sudo make
make install
在cmake中由于要指定各个模块的编译与否,选择等,可以采用ccmake .. ,该命令可以使各个模块的安装与否变的可视化
对于opencv3.4.2默认为是不按照cuda的相关模块的(即使笔记本已经安装好相应模块,因此要在cmake时指明,或者直接用ccmake,对于opencv3.4.1及之前的版本则不需要)
cmake -D CMAKE_BUILD_TYPE=RELEASE \-D CMAKE_INSTALL_PREFIX=/usr/local \-D WITH_CUDA=ON \-D ENABLE_FAST_MATH=1 \-D CUDA_FAST_MATH=1 \-D WITH_CUBLAS=1 \-D CUDA_ARCH_BIN="5" \ # 这个5需要去官网确认使用的GPU所对应的数字()-D INSTALL_PYTHON_EXAMPLES=ON \-D BUILD_EXAMPLES=ON ..
在cmake过程中看到在cmake的结果中什么需要的模块没有找到,可以根据自己的需求进行安装
如果cmake过程中出现错误:
In file included from /usr/include/c++/5/unordered_map:35:0,from /usr/local/include/ceres/ordered_groups.h:36,from /usr/local/include/ceres/ceres.h:52,from /home/efan/SoftWares/OpenCV/modules/sfm/src/libmv_light/libmv/multiview/fundamental:24:
/usr/include/c++/5/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
解决方法在/opencv/modules/sfm中的cmakelist文件中添加
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
8,配置opencv的环境
(1)添加路径
sudo gedit /etc/ld.so.conf.d/opencv.conf
执行此命令后打开一个空白文档,在文档上添加
/usr/local/lib
之后执行下面命令打开文件
sudo gedit /etc/ld.so.conf
依旧是在最后添加
/usr/local/lib
之后执行下面命令,使上述配置生效
sudo ldconfig
(2)配置bash
sudo gedit /etc/bash.bashrc
在打开的文档末尾添加:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
之后执行下面命令,使配置生效
source /etc/bash.bashrc
最后还要执行更新
sudo updatedb
至此,opencv配置就结束了
9,测试
进入OpenCV/samples/cpp/example_cmake目录下,运行官方实例
cmake .
make
./opencv_example
效果如下:
10, 用qt测试时有一个问题没有解决,就是每一次都要在qt的工程文件中指明opencv的库的路径
更多推荐
Ubuntu16.04 安装后配置系列(二),Python3.6、tensorflow
发布评论