参考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
安装完成
(也可以通过附加驱动安装 简单)
二. 安装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