ubuntu搭建深度学习环境
安装vscode
方法一:
依次输入如下命令
1.sudo add-apt-repository ppa:ubuntu-desktop/ubuntu-make
2.sudo apt-get update
3.sudo apt-get install ubuntu-make
4.umake ide visual-studio-code
可以在应用找到vscode即为成功
安装git
1.sudo apt update
2.sudo apt install git
可以在git --version打印出版本即为成功
安装cuda
在这里找CUDA Toolkit Archive | NVIDIA Developer
(nvcc -V的话是查询系统安装的cuda版本,而nvidia-smi是查看GPU使用情况的(也可以用来检查驱动是否安装成功)。nvidia-smi之所以会出现cuda version,我印象里谷歌给的解释是,release这个显卡驱动时英伟达使用的cuda版本。只需要保证nvidia-smi显示的cuda version比nvcc -V显示的版本高就行)
1.wget https://developer.download.nvidia.com/compute/cuda/11.3.0/local_installers/cuda_11.3.0_465.19.01_linux.run
2.sudo sh cuda_11.3.0_465.19.01_linux.run
以下这样即为成功
===========
= Summary =
===========
Driver: Not Selected
Toolkit: Installed in /usr/local/cuda-10.2/
Samples: Installed in /home/wohu/, but missing recommended libraries
Please make sure that
- PATH includes /usr/local/cuda-10.2/bin
- LD_LIBRARY_PATH includes /usr/local/cuda-10.2/lib64, or, add /usr/local/cuda-10.2/lib64 to /etc/ld.so.conf and run ldconfig as root
To uninstall the CUDA Toolkit, run cuda-uninstaller in /usr/local/cuda-10.2/bin
Please see CUDA_Installation_Guide_Linux.pdf in /usr/local/cuda-10.2/doc/pdf for detailed information on setting up CUDA.
***WARNING: Incomplete installation! This installation did not install the CUDA Driver. A driver of version at least 440.00 is required for CUDA 10.2 functionality to work.
To install the driver using this installer, run the following command, replacing <CudaInstaller> with the name of this run file:
sudo <CudaInstaller>.run --silent --driver
Logfile is /var/log/cuda-installer.log
多种方式验证cuda是否安装成功
ll /usr/local/
若看到 /usr/local/
目录下已经有 cuda -> /usr/local/cuda-10.2//
软链接,则为成功
然后继续配置cuda环境变量
打开.bashrc并修改
sudo vi ~/.bashrc
进入文件后使用上下左右移动键将光标移动到最后一行,然后使用字母按键o插入一行
export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
继而接着再插入一行
export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
最后按下esc按键,然后输入:wq即可保存
然后还要使得配置的环境变量生效,所以继续输入
sudo source ~/.bashrc
如果遇到source command not found情况,可以切换到root用户,使用sudo -s切换,然后执行source ~/.bashrc 即可成功
当一切搞定,就可以测试cuda,查看cuda版本使用nvcc -V
卸载cuda
在cuda10.2里对应torch1.7.0和torchvision0.8.1使用nvidia 3090不太行(原因:算力7.0的显卡可以在支持最高算力7.5的CUDA版本下运行,但是算力7.5的显卡不可以在支持最高算力7.0的CUDA版本下运行,同理算力8.x的显卡不可以在支持最高算力7.x的CUDA版本下运行),会报错,所以此时只能升级torch版本
这里感觉装了两个无用cuda版本有点难受,所以卸载他们
cd /usr/local/cuda-xx.x/bin/
sudo ./cuda-uninstaller
当下载cuda提示连接超时时,建议直接重启电脑
胡乱卸载导致nvidia-smi找不到设备了,故重新安装nvidia驱动
首先安装驱动前一定要更新软件列表和安装必要软件、依赖(必须)
sudo apt-get update #更新软件列表
sudo apt-get install g++
sudo apt-get install gcc
sudo apt-get install make
lspci | grep -i nvidia或者ubuntu-drivers devices 查看显卡型号,然后进入这个网站
https://www.nvidia.cn/Download/index.aspx?lang=cn
卸载原有驱动
sudo apt-get remove --purge nvidia* # 或者nvidia-*
禁用nouveau(nouveau是通用的驱动程序)(必须)
sudo gedit /etc/modprobe.d/blacklist.conf 或者(blacklist-nouveau.conf)
在打开的blacklist.conf末尾添加如下,保存文本关闭
blacklist nouveau
options nouveau modeset=0
在终端输入如下更新,更新结束后重启电脑(必须)
sudo update-initramfs –u
重启后在终端输入如下,没有任何输出表示屏蔽成功
lsmod | grep nouveau
安装lightdm,lightdm是显示管理器,主要管理登录界面,ubuntu20.04、21.04、22.04需要自行安装,然后上下键选择lightdm即可
sudo apt-get install lightdm
为了安装新的Nvidia驱动程序,我们需要停止当前的显示服务器。最简单的方法是使用telinit命令更改为运行级别3。在终端输入以下linux命令后,显示服务器将停止。(必须)
sudo telinit 3
进入黑漆漆的文本界面tty(如果进不去,就按Ctrl + Alt + F1~F6中的一个 (分别对应进入tty1~tty6)),然后输入用户名和密码
在文本界面中,禁用X-window服务,在终端输入(必须)
(如果是默认的gdm3显示管理器,命令为sudo /etc/init.d/gdm3 stop)
sudo /etc/init.d/lightdm stop或者(sudo service lightdm stop)
cd命令进入到你存放驱动的目录,输入命令:
sudo chmod 777 NVIDIA-Linux-x86_64-430.26.run #给你下载的驱动赋予可执行权限,才可以安装
sudo ./NVIDIA-Linux-x86_64-430.26.run (–no-opengl-files) #安装
简洁版
sudo apt-get update #更新软件列表
sudo apt-get install g++ #安装必要依赖
sudo apt-get install gcc
sudo apt-get install make
sudo apt-get remove --purge nvidia* #卸载原有所有驱动(或者nviida-*)
sudo gedit /etc/modprobe.d/blacklist.conf #禁用nouveau,末尾添加如下两行命令保存
blacklist nouveau
options nouveau modeset=0
sudo update-initramfs –u #更新
reboot #重启电脑
lsmod | grep nouveau #检查,输入之后无其他输出,成功,继续
sudo telinit 3 #进入文本界面
sudo service gdm3 stop #停止显示服务
sudo chmod 777 NVIDIA-Linux-x86_64-430.26.run #给你下载的驱动赋予可执行权限,才可以安装
sudo ./NVIDIA-Linux-x86_64-430.26.run #安装
sudo service gdm3 start #重启显示服务,完成
安装anconda
Index of /anaconda/archive/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
在镜像源下载anconda3-5.2.0-linux-x86_64版本
然后在下载文件位置打开终端,运行(bash+文件名)
bash Anaconda3-2020.02-Linux-x86_64.sh
一直enter,然后两次都yes
最后conda -v查看conda版本即可
配置conda镜像源
首先看安装地址有没有.condarc文件,没有则运行
conda config --set show_channel_urls yes
然后,如果有可视化界面,直接使用text editor编辑负责这一段进.condarc文件即可
channels:
- defaults
show_channel_urls: true
default_channels:
- https://mirrors.bfsu.edu.cn/anaconda/pkgs/main
- https://mirrors.bfsu.edu.cn/anaconda/pkgs/r
- https://mirrors.bfsu.edu.cn/anaconda/pkgs/msys2
custom_channels:
conda-forge: https://mirrors.bfsu.edu.cn/anaconda/cloud
msys2: https://mirrors.bfsu.edu.cn/anaconda/cloud
bioconda: https://mirrors.bfsu.edu.cn/anaconda/cloud
menpo: https://mirrors.bfsu.edu.cn/anaconda/cloud
pytorch: https://mirrors.bfsu.edu.cn/anaconda/cloud
pytorch-lts: https://mirrors.bfsu.edu.cn/anaconda/cloud
simpleitk: https://mirrors.bfsu.edu.cn/anaconda/cloud
实战项目
接下来以实战项目为例:fairmot的复现
首先我们去找到项目的github
遇到的第一个问题:cuda是11.4,没有适配的torch,所以需要去安装其他版本cuda,这里准备降到10.2版本
多cuda版本使用
多版本cuda动态切换(举例):
1、更改环境变量,将cuda-10.1变为cuda-9.0
sudo gedit ~/.bashrc
注释掉原来的cuda10.1版本的环境变量,替换为cuda9.0的环境变量
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"
2、删除之前的软连接,并生成新的软连接
sudo rm -rf /usr/local/cuda #删除之前创建的软链接
sudo ln -s /usr/local/cuda-9.0 /usr/local/cuda #创建新 cuda 的软链接
对应项目所需torch去下载
https://download.pytorch.org/whl/cu113/torch_stable.html
- cu102:表示cuda版本为10.2,(可以直接更改这个跳转链接)
- torch-1.7.1:表示torch版本为1.7.1
- cp38:表示适用python版本为3.8
- linux:表示适用于linux系统
- x86_64:表示同时兼容32和64位系统
然后在文件位置命令行运行pip install +文件名 -i https://mirrors.bfsu.edu.cn/pypi/web/simple