ubuntu16.04 安装CUDA10.2+pytorch1.5.0+cudnn7.6.5+python3.5+opencv4.3(源码编译)

参考https://blog.csdn.net/xjgao75/article/details/105869699/#UbuntuNVDIA_52

一. 安装nvidia 驱动

下载离线安装包 NVIDIA-Linux-x86_64-440.82.run

1.禁用nouveau:命令如下:

sudo chmod 666 /etc/modprobe.d/blacklist.conf
sudo vim /etc/modprobe.d/blacklist.conf

2.在最后面添加如下代码:

blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off

3.然后保存(esc键,然后shift键+:键,然后输入wq,回车)

为了保证完全禁用掉,还要在内核中直接禁用Nouveau:
命令如下:
echo options nouveau modeset=0 | sudo tee -a /etc/modprobe.d/nouveau-kms.conf
完成后再把权限改回出来,命令如下:
sudo chmod 644 /etc/modprobe.d/blacklist.conf
这之后,更新配置试生效,命令如下:
sudo update-initramfs -u

4.重启:sudo reboot

重启完成后,我们需要关闭图形界面,如果没有关闭图形界面,开始安装,测试时会报错。
ctrl+alt+f1 切换到终端界面

关闭图形界面命令如下:

service lightdm stop

5. 开始安装

sudo ./NVIDIA-Linux-x86_64-440.82.run -no-x-check -no-nouveau-check -no-opengl-files
安装完成

(也可以通过附加驱动安装 简单)


ubuntu16.04 安装CUDA10.2+pytorch1.5.0+cudnn7.6.5+python3.5+opencv4.3(源码编译)_第1张图片
选择nvidia-driver-440.png

二. 安装cuda

下载离线安装包 cuda_10.2.89_440.33.01_linux.run
sudo ./cuda_10.2.89_440.33.01_linux.run
开始安装
accept
取消选中驱动安装
install 完成
查看是否安装成功
nvidia-smi
下一步,配置变变量环境:
执行命令:
vim ~/.bashrc
添加如下代码:

export PATH=/usr/local/cuda-10.2/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

然后保存
输入命令:
source ~/.bashrc
重启:
sudo reboot
开始测试cuda是否安装成功:
命令如下:
cd /usr/local/cuda-10.2/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery

三. 安装cudnn

下载离线安装包
https://developer.nvidia.com/cudnn
libcudnn7_7.6.5.32-1+cuda10.2_amd64.deb
libcudnn7-dev_7.6.5.32-1+cuda10.2_amd64.deb
libcudnn7-doc_7.6.5.32-1+cuda10.2_amd64.deb
sudo dpkg -i libcudnn7_7.6.5.32-1+cuda10.2_amd64.deb
sudo dpkg -i libcudnn7-dev_7.6.5.32-1+cuda10.2_amd64.deb
sudo dpkg -i libcudnn7-doc_7.6.5.32-1+cuda10.2_amd64.deb

四. 安装conda

下载 Anaconda3-4.2.0-Linux-x86_64.sh
https://repo.continuum.io/archive/Anaconda3-4.2.0-Linux-x86_64.sh
或https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/

安装bash Anaconda3-4.2.0-Linux-x86_64.sh
一路安装... 并加入环境变量

五. 离线安装pytorch+torchvision

下载离线安装包 pytorch-1.5.0-py3.5_cuda10.2.89_cudnn7.6.5_0.tar.bz2
下载离线安装包 torchvision-0.6.0-py35_cu102.tar.bz2

https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/

1. 安装torch

在同一文件夹下运行:
conda install pytorch-1.5.0-py3.5_cuda10.2.89_cudnn7.6.5_0.tar.bz2

2. 再安装torchvision :

conda install torchvision 最终失败

通过 pip install torchvision 安装也失败

最后还是通过离线安装
conda install torchvision-0.6.0-py35_cu102.tar.bz2

安装Pytorch之后,输入import torch,出现ImportError: libmkl_gnu_thread.so: cannot open shared object file: No such file or directory

首先,尝试把相关的so文件添加到路径里,ldconfig 更新一下,不能解决问题.
1.使用如下命令debug一下
conda install --debug mkl
2.使用如下命令重新装一下mkl包
conda install mkl

原文链接:https://blog.csdn.net/qq_22704577/java/article/details/53928059

测试

进入python交互式环境
python

import torch
print(torch.__version__) 

六 opencv源码安装

安装依赖

必须要安装的依赖,通过命令安装:

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

如果需要其他的功能,还需安装一些,命令:

sudo apt-get install python-dev python-numpy python3-dev python3-numpy
sudo apt-get install libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

安装OpenCV

下载OpenCV的安装包,下载Sources包,opencv-4.2.0.tar.gz 解压:

tar -zxvf opencv-4.2.0.tar.gz

在解压的文件夹里新建一个文件夹用来编译OpenCV:

cd opencv-4.0.1
mkdir release
cd release

然后在新建的这个文件里运行cmake:

cmake -DCMAKE_BUILD_TYPE=Release \
-DOPENCV_GENERATE_PKGCONFIG=ON \
-DCMAKE_INSTALL_PREFIX=/usr/local ..

OpenCV4默认不生成.pc文件,OPENCV_GENERATE_PKGCONFIG=ON才会生成。
之后就是编译和安装了,我的电脑是四核八线程,可以运行make -j8,但我不想编译时影响我工作,所以用-j7,如果是四核可用make -j4

make -j7
sudo make install

如果你安装了python-dev,这时Python应该可以使用OpenCV了,在终端输入python,可以查看OpenCV版本:

$ python 
>>> import cv2
>>> cv2.__version__
'4.0.1'
>>> 

通过,安装Python-OpenCV解决
pip install opencv-python

之后就是配置c++了,先在/etc/ld.so.conf.d/文件夹下新建一个opencv4.conf,里面写入/usr/local/lib。

cd /etc/ld.so.conf.d/
sudo touch opencv4.conf
sudo sh -c 'echo "/usr/local/lib" > opencv4.conf'

更新pkg-config:

sudo ldconfig

解决报错1:darknet-yolo:fatal error: opencv2/opencv.hpp: No such file or directory

sudo apt install libopencv-dev

解决报错2:/bin/sh: 1: nvcc: not found make: *** [obj/convolutional_kernels.o] Error 127

修改makefile

NVCC = /usr/local/cuda-10.2/bin/nvcc

解决报错3:cuda error: out of memory darknet: ./src/cuda.c:36: check_error: Assertion `0' failed

那么,修改cfg文件夹下的yolov3.cfg文件,原始的yolov3.cfg文件开头为:

[net]
# Testing
#batch=1
#subdivisions=1
# Training
batch=64
subdivisions=16

修改为:

[net]
# Testing
batch=1
subdivisions=1
# Training
#batch=64
#subdivisions=16

你可能感兴趣的:(ubuntu16.04 安装CUDA10.2+pytorch1.5.0+cudnn7.6.5+python3.5+opencv4.3(源码编译))