Ubuntu18.04下深度学习环境与blog搭建

本机系统:Ubuntu18.04

本机显卡型号查询

1
lspci | grep -i nvidia

查看该显卡是否支持cuda

https://developer.nvidia.com/cuda-gpus

更新NVIDIA驱动

添加 Graphic Drivers PPA

1
2
3
sudo add-apt-repository ppa:xorg-edgers/ppa #添加ppa源
sudo add-apt-repository ppa:graphics-drivers/ppa #添加ppa源
sudo apt-get update
1
2
ubuntu-drivers devices
sudo apt install nvidia-driver-440(所推荐的驱动包)

or

打开 Software & Updates,选择 Additional Drivers,一般需要加载一定时间,会出现多个驱动,选择最新的也就是版本号最大的 NVIDIA-Driver,点击应用,需要等待一点时间生成应用,完成便成功安装了驱动

image-20200523233440188

查看NVIDIA驱动版本

1
2
nvidia-smi 
# 显示驱动版本440和驱动的CUDA版本10.2(和运行CUDA不同)

or

1
sudo dpkg --list | grep nvidia-*

or

1
cat /proc/driver/nvidia/version

CUDA与cuDNN

只是深度学习环境,装了conda就没必要单独装cuda什么的了,虚拟环境有指令可以包含进去。

但是CUDA的其他文件可能没有, 比如nvcc.因此我想安装完整的CUDA,。另外, 如果驱动满足, 这里的cudatoolkit版本<=系统, 也能正常使用.

完整的CUDA安装

CUDA Toolkit Archive (Ubuntu18.04 下载runfile版本)

cuda10.1(选择这个版本的原因,是因为cudnn在2020.5.26都没有对应的版本)

1
2
3
wget http://developer.download.nvidia.cn/compute/cuda/10.1/Prod/local_installers/cuda_10.1.243_418.87.00_linux.run

sudo sh cuda_10.1.243_418.87.00_linux.run

安装完后,在.bashrc文件末尾添加环境变量

1
2
3
4
5
6
7
sudo gedit ~/.bashrc

export PATH=$PATH:/usr/local/cuda-10.1/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-10.1/lib64
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/cuda-10.1/lib64

source ~/.bashrc

测试

1
2
3
4
5
6
7
nvcc --version  
#出现Cuda compilation tools, release 10.1, V10.1.243
cd /usr/local/cuda/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery
#出现deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 10.2, CUDA Runtime Version = 10.1, NumDevs = 1
Result = PASS

https://share.weiyun.com/zMGMSFEE

## cuDNN

cuDNN是用于神经网络的GPU库, 有些python包依赖cuDNN才能运行. 官网说明

官网cuDNN Archive下载如图文件,依次安装。

image-20201212171000816

image-20201212170745252

1
2
3
sudo cp cuda/include/cudnn.h   /usr/local/cuda-版本/include 
sudo cp cuda/lib64/libcudnn* /usr/local/cuda-版本/lib64
sudo chmod a+r /usr/local/cuda-版本/include/cudnn.h /usr/local/cuda-9.0/lib64/libcudnn*
  • 安装后查看版本:
1
cat /usr/include/cudnn.h | grep CUDNN_MAJOR -A 2
  • (可选)用sample验证CUDNN(需要安装dev和doc两个deb)

修改cudnn.h的include “…”为include <…>,否则下面编译会报错

1
2
3
cd  /usr/src/cudnn_samples_v7/mnistCUDNN # 如果没有操作权限就cp到可操作的位置
make clean && make
./minstCUDNN

删除旧版cuda10.1 与 cudann8.0.4

1
2
cd /usr/local/cuda/bin
sudo ./cuda-uninstaller

因为GPU为3090,所以需要升级cuda

1
2
3
4
sudo apt-get remove cuda
sudo apt --purge remove "*cublas*" "cuda*"
sudo apt-get autoclean
sudo apt-get remove cuda*
1
2
cd /usr/local/
sudo rm -r cuda-10.1

安装新版cuda11.1+cudnn8.0.5

1
2
3
4
sudo wget https://developer.download.nvidia.com/compute/cuda/11.1.0/local_installers/cuda_11.1.0_455.23.05_linux.run
sudo sh cuda_11.1.0_455.23.05_linux.run

注意因为之前安装好了nvidia 驱动,所以不需要安装驱动啦.

修改对应环境变量.

官网cuDNN Archive下载cudnn8.0.4 cuDNN Library for Linux (x86_64)

然后j解压,复制文件:

1
2
3
sudo cp cuda/include/cudnn.h    /usr/local/cuda-11.1/include 
sudo cp cuda/lib64/libcudnn* /usr/local/cuda-11.1/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*

验证安装结果:

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

image-20201213154846241

安装Miniconda

点击Anaconda 镜像使用帮助,下载Miniconda (Miniconda3-py37_4.8.2-Linux-x86_64.sh)就可以了。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 进入下载目录
# cd Downloads/
cd 下载
# 执行安装
bash Miniconda3-py37_4.8.2-Linux-x86_64.sh

遇到Do you accept the license terms? [yes|no]
回车
q键退出阅读license
yes
Miniconda3 will now be installed into this location:
/home/用户名/miniconda3
回车默认
Do you wish the installer to initialize Miniconda3
by running conda init? [yes|no]
yes

完成后关闭该终端,再一次打开终端

测试是否安装成功

1
2
3
4
5
6
7
8
conda --version

#添加国内镜像,进入清华镜像源anaconda页面
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda
conda config --set show_channel_urls yes

conda常用命令

pytorchGPU为所创建的虚拟环境名字

创建虚拟环境

1
conda create -n pytorchGPU python=3.7.6

激活虚拟环境

1
conda activate pytorchGPU

退出当前虚拟环境

1
conda deactivate

删除虚拟环境操作

1
conda remove -n pytorchGPU --all
1
2
3
4
5
6
7
8
9
10
11
conda info #查看conda的信息(是否有镜像库)

conda clean -i #清除缓存索引

conda list #查看安装了哪些包。

conda env list 或 conda info -e #查看当前存在哪些虚拟环境

conda update conda #检查更新当前conda

python --version #查看python版本

对虚拟环境中安装额外的包

使用命令conda install -n your_env_name [package]即可安装package到your_env_name中

删除环境中的某个包

使用命令conda remove --name your_env_name package_name 即可

配置深度学习环境

Anaconda Cloud官网提供了各种包的安装命令,可以搜索并安装到我们创建的虚拟环境中,例如搜索pytorch,执行便可安装

再一次检查镜像源:

1
2
3
sudo gedit ~/.condarc
# window
C:\Users\user_name\.condarc

配置文件修改如下:

channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/menpo/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/simpleitk/
  - defaults
show_channel_urls: true
1
2
conda info #查看conda的信息(是否有镜像库)
conda clean -i #清除缓存索引

安装GPU版pytorch,在官网http://pytorch.org/选一个你的当前的配置

1
2
3
4
conda create -n pytorchGPU python=3.7.6
conda activate pytorchGPU
conda install pytorch torchvision cudatoolkit=10.1
#去掉-c pytorch安装的时候才会默认从清华源下载相应的包

测试

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#在VScode里面测试
import torch
import torchvision
from torch.backends import cudnn

# TEST 出现tensor([1.], device='cuda:0')
x = torch.Tensor([1.0])
xx = x.cuda()
print(xx)
# CUDA cuDNN test ,出现2个true
print(torch.cuda.is_available())
print(cudnn.is_acceptable(xx))

#输出当前GPU型号
gnlook = torch.cuda.current_device()
print(torch.cuda.get_device_name(gnlook))

## 出现错误

Torch not compiled with CUDA enabled

不知道是什么原因,清华源下载的是cpu版pytorch

我认为是没有检测到安装好的英伟达驱动程序,所以检查好驱动版本后重启电脑,重新安装pytorch(删掉这个虚拟环境,再来)。

深度学习环境

IDE-VScode

推荐Visual Studio Code,轻量快速,在终端激活环境,便可直接运行程序

##安装

1.进入官网,直接下载压缩包。(我的是64位)
https://code.visualstudio.com/Download

1
2
cd 下载
sudo dpkg -i code_1.35.0-1559611369_amd64.deb

解压完成,在全部应用的区域就可以看到VS Code的图标了,直接点击打开

配置

ubuntu18.04+VSCode+Python安装

ubuntu18.04- +vscode c++使用时的三个配置文件

pylint路径设置

VSCode中pytorch出现’torch’ has no member ‘xxx’的错误

setting中python.linting.pylintPath : /home/用户名/miniconda3/pkgs/pylint-2.5.3-py37hc8dfbb8_0/bin/pylint

保存后便无报错。

注意:该方法必须是用conda安装pylint,而不是pip安装的。可以通过pip uninstall pylint 卸载,再conda重装pylint

美化

VSCode配置FiraCode字体

下载字体

到FiraCode字体的GitHub页面
找到下面的Download链接下载最新字体
解压缩下载文件,并进入ttf文件夹
选中所有字体文件,右键选择安装

配置字体

打开vscode的配置页面,并搜索font
修改editor.fontFamily配置项的内容为:'Fira Code Retina', 'Microsoft Yahei UI'。由于Fira Code字体不支持中文,这里配置微软雅黑为第二字体

配置后重启vscode

vscode对于交互式ipynb文件的问题:Interactive window with Matplotlib and notebook option

IDE-PyCharm

1
sudo snap install [pycharm-professional|pycharm-community] --classic

最好利用edu邮箱申请专业版,功能多且免费,Community Edition不包括Jupyter笔记本集成。

在学生授权有效期间可以下载安装任何 JetBrains Toolbox 下任何新版本开发工具,并使用 JetBrains 帐号激活。理论上只要邮箱不回收,就可以一直用。每次申请都是一年,一年后继续申请就好了

IDEA 学生授权申请方式(免费)

Ubuntu上安装PyCharm及设置

优化

代码模板

PyCharm –> 选择File –> Settings –> Editor –> Code Style –> File and Code Templates –> Python Script

1
2
3
4
5
6
7
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
'''=================================================
@Author :Pabebe
@Date :${DATE} ${TIME}
@Description :
=================================================='''

连接github

配置路径

File | Settings | Version Control | GitHub 配置github账号密码

git ubuntu默认配置好了,window自己配置git路径。

推送项目至版本库/github

VCS–>Import into Version Control–>Share Project on GitHub/create git repository

克隆项目

VCS -> Get from Version Control -> Git

.gitignore

相应规则

### 生成requirements.txt

(1)会将环境中的依赖包全都加入,如果使用的全局环境,则下载的所有包都会在里面,不管是不时当前项目依赖的,如下图

1
pip freeze > requirements.txt

(2)推荐,只加入项目所依赖的包

1
2
3
4
# 安装
pip install pipreqs
# 在当前目录生成
pipreqs ./ --encoding=utf8 --force

--encoding=utf8 为使用utf8编码,不然可能会报UnicodeDecodeError: ‘gbk’ codec can’t decode byte 0xae in position 406: illegal multibyte sequence 的错误。

--force 强制执行,当 生成目录下的requirements.txt存在时覆盖。

使用 requirements.txt

1
pip install  -r requirements.txt

pytorch 网络结构可视化

pytorch 的模型结构可视化方法:

(1)使用 tensorboardX(不太直观)

(2)使用 graphviz 加上 torchviz (依赖于 graphviz 和 GitHub 第三方库 torchviz,线条比较死板)

(3)使用微软的 tensorwatch (TensorWatch 是一个调试和可视化工具,专为 Microsoft Research 的数据科学,深度学习和强化学习而设计。只能在 jupyter notebook 中使用,图片比较美观,但有时候会出现一些莫名的错误

(4)使用 netron 可视化工具(.pt 或者是 .pth 文件,对pytorch模型的支持不友好

## 使用第二种

1
2
pip install torchviz
# 该指令同时安装 graphviz, torchviz

使用demo

1
2


使用第三种

1
2
pip install tensorwatch
#该指令同时安装 plotly-4.9.0 pydotz-1.5.1 retrying-1.3.3 tensorwatch-0.9.1

使用demo

1
2


LINUX下查看点云图

Ubuntu18版本缺失?

LINUX下查看点云图————point cloud(.ply .vtk .pcd)

所以还是安装cloudcompare

1
2
3
4
5
6
7
# 科学上网,这条命令自动安装latest stable版本
sudo snap install cloudcompare

#open pointcloud viewer
cloudcompare.ccViewer
#open the main software
cloudcompare.CloudCompare

Bolg

ubuntu下搭建Hexo+GitHub博客

Ubuntu16 升级nodejs版本

更新node版本

参考链接

Ubuntu 搭建深度学习环境(直接安装anaconda,就不需要再繁琐安装cuda、cudann了)

Pycharm没有菜单栏

conda安装Pytorch下载过慢解决办法(11月26日更新ubuntu下pytorch1.3安装方法)

ubuntu自带截图工具–方便好用

Ubuntu 18.10 下安装CUDA10/CUDA10.1

PyCharm设置代码模板:自动生成文件名、作者、创建日期等信息

pytorch 网络结构可视化方法汇总(三种实现方法详解)

Pytorch神经网络结构图可视化(Ubuntu+torchviz+graphviz)

Pytorch神经网络结构可视化模块–Tensorwatch

通过pycharm使用git和github的步骤(图文详解)

python生成requirements.txt的两种方法

---------------- 本文结束 ----------------

本文标题:Ubuntu18.04下深度学习环境与blog搭建

文章作者:Pabebe

发布时间:2020年06月17日 - 09:45:23

最后更新:2021年03月11日 - 17:43:25

原始链接:https://pabebezz.github.io/article/acdf71cc/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

0%