https://zhuanlan.zhihu.com/p/41096599

1、先查看是否安装有以下组件,若有先考虑彻底删除再安装(安装严格按照下面顺序进行)

查看nvidia 版本

nvidia-smi

查看cuda 版本

cat /usr/local/cuda/version.txt

查看cudnn 版本

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

2.安装nvidia驱动

1.禁用系统默认nouveau显卡驱动

打开系统黑名单,命令如下 :

sudo vi /etc/modprobe.d/blacklist.conf

在blacklist.conf文件中添加禁用的显示设备,文件尾部追加内如如下:

# for nvidia display device install
blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist rivatv
blacklist nvidiafb

保存blacklist.conf文件,然后更新内核,命令如下:

sudo update-initramfs -u

重启电脑

sudo reboot

重启完成,执行命令如下(查看是否禁用成功,无输出则禁用成功):

lsmod | grep nouveau

2. 安装RTX1060驱动

首先进入命令行模式

ctrl+alt+f2

由于我们要安装显卡驱动,会影响桌面显示,我们可以先关闭(图形)桌面显示管理器18.04是gdm3,这里根据自己的版本选择就好

ubuntu 16.04是lightdm

sudo service lightdm stop

ubuntu 18.04是gdm3

sudo service gdm3 stop

添加驱动源:

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update

寻找合适驱动版本:

ubuntu-drivers devices

这里最好去官网https://www.geforce.cn/drivers 注意 笔记本电脑 要选择Notebooks版本的驱动

或者

UBUNTU右上角》系统设置》软件与更新》附加驱动选择》里面看看系统推荐的版本号,最好根据这个进行选择,为了避免更多未知的坑(不推荐直接在附加驱动选择直接安装:失败概率有些高,而且容易造成循环登录的问题)

sudo apt-get install nvidia-390

然后开启桌面管理器或者直接重启

sudo service gdm3 restart

或者

sudo reboot

重启后

查看nvidia 版本

nvidia-smi

显示则安装成功

nvidia-settings

打开N卡的设置

3.安装cuda

先查看nvidia 驱动,cuda,cudnn对应关系

 nvidia与cuda要求的版本对应关系:

https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html

cuda与cudnn需要满足关系:

https://developer.nvidia.com/rdp/cudnn-archive

3.1安装依赖库

sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-devlibgl1-mesa-glx libglu1-mesa libglu1-mesa-dev

3.2降级gcc

由于Cuda-9.0只支持gcc-6.0以下的版本,而Ubuntu18.04系统默认安装的gcc-7.3版本(可以在终端输入gcc --version查看系统安装的gcc版本),所以首先需要降级为gcc-5版本。

  • 首先需要安装gcc-5

在终端输入:

sudo apt install gcc-5
sudo apt install g++-5
  • 链接至gcc-5版本

在终端输入:

cd /usr/bin
sudo mv gcc gcc.bak #备份
sudo ln -s gcc-5 gcc
sudo mv g++ g++.bak
sudo ln -s g++-5 g++

最后查看系统的gcc版本是否已更改

gcc --version

3.2安装对应版本的Cuda

cuda是nvidia的编程语言平台,想使用GPU就必须要使用cuda

https://developer.nvidia.com/cuda-toolkit-archive

保守起见,选择cuda9.0进行安装,也可以选择更高版本的

注意 9.0 是没有 18.04可选的,但我们选择16.04依然可以安装,正常使用(还没遇到过不正常状态)依次下载下面五个installers

基础安装包

sudo sh cuda_9.0.176.384.81_linux.run --override

在安装过程中 按Q跳过阅读more,会出现几个是否选装和安装位置的选项

其中第二个不需要安装NVIDIA驱动(系统已安装),其余都选择yes或者敲回车。

按q退出条款浏览或者按空格直到条款末尾

输入 accept 接受条款。

输入n不安装nvidia图像驱动,因为前面已经安装好驱动。如果这里按照默认选择yes,则前面安装的高版本nvidia驱动将被替换成为cuda里带的低版本nvidia驱动。

输入y安装cuda 8.0 toolkit。

回车确认cuda默认安装路径(/usr/local/cuda-8.0)

输入y install a symbolic link at /usr/local/cuda

输入y安装CUDA 8.0 Samples。

输入CUDA 8.0 Samples安装路径:/home/用户名/CUDA/samples 我这里是 /home/joe/CUDA/samples

结尾会显示 WARNING 这个不要紧  因为是第二部 没有安装driver (我们已经安装)

四个更新包

sudo sh cuda_9.0.176.1_linux.run
sudo sh cuda_9.0.176.2_linux.run
sudo sh cuda_9.0.176.3_linux.run
sudo sh cuda_9.0.176.4_linux.run

修改环境变量

安装完Cuda-9.0后,还需要将其添加至系统环境变量。

ubuntu下某些程序需要自己定义LD_LIBRARY_PATH,修改下面文件的环境变量:

sudo gedit  ~/.bashrc

打开“profile”文件,在末尾处添加(注意不要有空格,不然会报错):

export PATH=/usr/local/cuda-9.0/bin:$PATH

export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64:$LD_LIBRARY_PATH

export PATH=$PATH:/usr/local/cuda/bin

保存文本后,更新系统环境变量

source ~/.bashrc
sudo ldconfig -v

至此,可以通过在终端输入nvcc --version,检查Cuda-9.0是否安装成功。

也可以测试cuda的Samples

cd /home/joe/CUDA/samples/NVIDIA_CUDA-.0_Samples/
sudo make -j8
cd /home/joe/CUDA/samples/NVIDIA_CUDA-.0_Samples/bin/x86_64/linux/release
./deviceQuery

运行最后显示Result = Pass

注意路径要根据你自己的进行修改

如果显示的是一些关于GPU的信息,则说明安装成功了。

4.安装对应版本的cudnn

首先去官网下载你需要的cudnn,下载的时候需要注册账号。选择对应你cuda版本的cudnn下载。
https://developer.nvidia.com/rdp/cudnn-archive

cuDNN v7.1.2 Runtime Library for Ubuntu16. (Deb)
cuDNN v7.1.2 Developer Library for Ubuntu16. (Deb)
cuDNN v7.1.2 Code Samples and User Guide for Ubuntu16. (Deb)

安装

sudo dpkg -i libcudnn7_7.1.2.-+cuda9.1_amd64.deb
sudo dpkg -i libcudnn7-dev_7.1.2.-+cuda9.1_amd64.deb
sudo dpkg -i libcudnn7-doc_7.1.2.-+cuda9.1_amd64.deb

环境变量

sudo gedit ~/.bashrc

在文件最後加上

export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH

生效

source ~/.bashrc
sudo ldconfig -v

执行samples

cp -r /usr/src/cudnn_samples_v7/ $HOME
cd $HOME/cudnn_samples_v7/mnistCUDNN
make clean && make
./mnistCUDNN

发生了错误 找不到libcudart.so.9.0

这是因为 环境变量的问题

sudo gedit /etc/profile
export PATH=$PATH:/usr/local/cuda-9.0/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-9.0/lib64
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/cuda-9.0/lib64

配置文件生效

source /etc/profile

环境变量设置完 重新测试

./mnistCUDNN

如果在别的地方也报  找不到libcudart.so.9.0

若仍提示相同的错误,则执行以下命令,将相应的库文件复制到/usr/lib

sudo cp /usr/local/cuda-9.0/lib64/libcudart.so.9.0  /usr/local/lib/libcudart.so.9.0 && sudo ldconfig
sudo cp /usr/local/cuda-9.0/lib64/libcublas.so.9.0 /usr/local/lib/libcublas.so.9.0 && sudo ldconfig
sudo cp /usr/local/cuda-9.0/lib64/libcurand.so.9.0 /usr/local/lib/libcurand.so.9.0 && sudo ldconfig

ps. ldconfig命令是一个动态链接库管理命令,是为了让动态链接库为系统共享

5.安装opencv

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential cmake pkg-config
sudo apt-get install libjpeg8-dev libtiff5-dev libjasper-dev libpng12-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install libxvidcore-dev libx264-dev
sudo apt-get install libgtk--dev
sudo apt-get install libatlas-base-dev gfortran

下载opencv + contrib

wget -O opencv.zip https://github.com/Itseez/opencv/archive/3.2.0.zip
wget -O opencv_contrib.zip https://github.com/Itseez/opencv_contrib/archive/3.2.0.zip

安装cmake-gui

sudo apt-get install cmake-qt-gui

启动cmake-gui

改好目录 点configure 结束后会出现红色的部分

下面需要更改几个参数

(1)OPENCV_EXTRA_MODULES_PATH

这个参数指定的是额外模块的路径,指定了之后CMake就会自动寻找是否有额外模块。需要注意的是路径是contrib目录下的modules,例如/home/joe/Documents/opencv-3.4.1/opencv_contrib-3.4.1/modules,而不能只写到/home/joe/Documents/opencv-3.4.1/opencv_contrib-3.4.1,会提示找不到模块。

(2)OPENCV_ENABLE_NONFREE

这个参数的作用是启用OpenCV中的非免费模块,如果你想使用SIFT、SURF等算法,则必须要开启,否则等你调用它们的时候会提示它们是非免费模块,没有启用。

以上便是两个使用Contrib模块必须要修改的参数,其它没有特殊要求默认即可。配置好后,点击”Configure”按钮,CMake即开始配置,不出意外的话会会下载一些文件,这些文件都是外网的,还比较大,因此经常失败。 一般有两个文件比较难下,一个是face_landmark_model.dat

这里建议开VPN 不然这两个文件下不了 需要手动更换 具体看

https://zhaoxuhui.top/blog/2019/06/04/OpenCVContribEnvCPP.html

下载完成 点击 generate

4.编译代码

在新建的build文件夹里打开终端

# 利用下面的命令得到系统的线程数
nproc
# 得到n下面输入jn
make -j8 

安装OpenCV中反复出现一个warning,not used because“ OPENCV_TRAITS_ENABLE_DEPRECATED ”has been defined。几乎每编译一个文件都会弹出这个警告。实践证明,这个警告并不影响最终的程序执行。只要没有error,warning一般可以忽略。

安装完成 将相关头文件拷贝到系统中去

make install

如果安装错了想删除

make install以后,源文件不建议删除,因为如果以后还需要卸载的话,直接在build目录下打开终端输入make uninstall即可,否则的话只能手动删除目录文件了

最后需要编辑配置文件,修改两个文件/etc/ld.so.conf和/etc/bash.bashrc,最后source一下,使修改立即生效

sudo gedit /etc/ld.so.conf
# 在ld.so.conf末尾加上这行/usr/local/lib 然后退出编辑
source /etc/ld.so.conf
sudo ldconfig sudo gedit /etc/bash.bashrc
# 在末尾添加下面两行
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
# 退出编辑
source /etc/bash.bashrc

测试opencv安装是否成功,执行命令如下:

opencv_version
# 3.4.1

6.卸载Cuda和Cudnn

卸载Cuda-9.0

终端输入

cd /usr/local/cuda-9.0/bin
sudo ./uninstall_cuda_9.0.pl

卸载Cudnn

终端输入

sudo apt remove cudnn*

7.安装tensorflow-gpu

直接通过pip安装Tensorflow-gpu

sudo pip3 install tensorflow-gpu

8. 安装teamviewer

官网选择linux版本,下载ubuntu版本deb安装包,官网链接地址:下载 Linux 版 TeamViewer,进行远程桌面访问和协作

wget https://download.teamviewer.com/download/linux/teamviewer_amd64.deb

这里建议用linux平台可用的motrix (类似迅雷) 下载

下载完成,使用如下命令进行deb包的安装:

sudo dpkg -i teamviewer_amd64.deb

如果出现依赖库安装失败执行如下命令,强制更新类库依赖:

sudo apt-get install -f

安装完成,执行启动teamviewer命令如下:

teamviewer

参考

https://zhaoxuhui.top/blog/2019/06/04/OpenCVContribEnvCPP.html

https://blog.csdn.net/u011285477/article/details/89924919

https://oldpan.me/archives/ubuntu-install-opencv-from-source

y7000笔记本 darknet-yolo安装与测试(Ubuntu16.04+Cuda9.0+Cudnn7.1)的更多相关文章

  1. Ubuntu16.04 + cuda9.0 +cudnn7.1(转载)

    转载一个详细可用的ubuntu16.04+cuda9.0+cudnn7.1教程. 0 - 参考材料 https://blog.csdn.net/Umi_you/article/details/8026 ...

  2. Ubuntu16.04 + CUDA9.0 + cuDNN7.3 + Tensorflow-gpu-1.12 + Jupyter Notebook 深度学习环境配置

    目录 一.Ubuntu16.04 LTS系统的安装 二.设置软件源的国内镜像 1. 设置方法 2.关于ubuntu镜像的小知识 三.Nvidia显卡驱动的安装 1. 首先查看显卡型号和推荐的显卡驱动 ...

  3. Ubuntu16.04 + cuda9.0 + cudnn7.1.4 + tensorflow安装

    安装前的准备 UEFI 启动GPT分区 Win10和Ubuntu16.04双系统安装 ubuntu16.04 NVIDIA 驱动安装 ubuntu16.04 NVIDIA CUDA8.0 以及cuDN ...

  4. ubuntu tensorflow install(Ubuntu16.04+CUDA9.0+cuDNN7.5+Python3.6+TensorFlow1.5)

    在网上找了很多案例,踩了许多坑,感觉比较全面的是下面介绍的 http://www.cnblogs.com/xuliangxing/p/7575586.html 先说说我的步骤: 首先安装了Anacod ...

  5. Ubuntu16.04+cuda9.0+matlab+opencv3.3+caffe服务器配置(问题汇总)

    Ubuntu16.04+cuda9.0+matlab+opencv3.3+caffe服务器配置(附遇到的错误和解决方法) 1.具体安装前需要的依赖包: ubuntu dependency: sudo ...

  6. Ubuntu18.04+CUDA9.0+cuDNN7.1.3+openface安装总结

    目录 前言 编译工具CMake C++标准库安装 下载OpenFace代码 OpenCV安装 luarocks-Lua 包管理器,提供一个命令行的方式来管理 Lua 包依赖.安装第三方 Lua 包等功 ...

  7. ubuntun16.04+cuda9.0+cudnn7+anaconda3+pytorch+anaconda3下py2安装pytorch

    一.电脑配置 说明: 电脑配置: LEGION笔记本CPU Inter Core i7 8代GPU NVIDIA GeForce GTX1060Windows10 所需的环境: Anaconda3(6 ...

  8. y7000笔记本 darknet-yolo安装与测试(Ubuntu18.04+Cuda9.0+Cudnn7.1)

    环境配置看上一贴 https://www.cnblogs.com/clemente/p/10386479.html 1 安装darknet 1-1 克隆darknet repo git clone h ...

  9. Ubuntu16.04+cuda9.0安装教程

    1.安装NVIDIA驱动 首先去官网(http://www.nvidia.cn/Download/index.aspx?lang=cn)查找适配自己电脑GPU的驱动,我的电脑驱动版本如下: 执行如下语 ...

随机推荐

  1. aspose导出数据

    注意 aspose合并单元格后设置单元格样式要一格一格的设置 public class InvoiceAsposeExcel { /// <summary> /// 导出数据 /// &l ...

  2. BZOJ2456-mode题解--一道有趣题

    题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=2456 瞎扯 这是今天考的模拟赛T2交互题的一个30分部分分,老师在讲题时提到了这题.考 ...

  3. Java 实现 海康摄像头抓拍图像 Windows、Linux

    先抱怨一下,打死都想不到,海康的摄像头SDK居然是一个Java类,还有必须的两个jar包(jna.jar,examples.jar).鬼能想得到会这么命名. 下面开始吧. Windows 把从官网下载 ...

  4. Typora入门:全网最全教程

    目录 简介 Markdown介绍 常用快捷键 块元素 换行符 标题级别 引用文字 无序列表 有序列表 任务列表 代码块 数学表达式 插入表格 脚注 分割线 目录(TOC) 跨度元素 链接 网址 图片 ...

  5. Lua入门记录

    学习资料 Lua入门和Lua高阶章节 Lua中文文档 阅读笔记,只是记录了知识点和一些注意点,详细的看上面提供的学习资料链接 Lua 基础数据类型 nil(空) boolean(布尔) Lua 中 n ...

  6. mac 下的操作

    nodejs在Mac下的卸载 在 node 官网上下载的安装包,用安装包安装的node.应该可以用一下命令行卸载: 在终端输入以下命令: sudo rm -rf /usr/local/{bin/{no ...

  7. php打包下载以及断点续传

    php下载单文件 以及 多文件打包下载,支持断点续传 断点续传的功能未经验证 需要nginx或者apache服务器指定静态文件,png, mp4, zip等后缀文件的目录, 直接实例化并调用 down ...

  8. 【wifi移植 3】开发板wifi自动获取IP

    内核版本:3.4.61 1. 配置内核,支持DHCP ~/kernel$ make menuconfig [*] Networking support  ---> Networking opti ...

  9. maven-将本地jar包添加到本地仓库

    一.使用场景 1.把网上的jar包下到本地,如果要在maven的pom文件中配置使用,就必须将jar包按照maven的规范添加到maven仓库中,然后再pom中既可以配置引用了. 二.准备工作 1.电 ...

  10. java8学习之Lambda表达式继续探讨&Function接口详解

    对于上次[http://www.cnblogs.com/webor2006/p/8186039.html]已经初步引入的Java8中Stream流的概念,其中使用了map的操作,它需要接受一个Func ...