从零到一保姆级ubuntu深度学习服务器环境配置教程(代码片段)

daipuweiai daipuweiai     2023-04-02     170

关键词:

文章目录


前言

本篇博客主要记录Ubuntu深度学习服务器从裸机到配置结束的全过程


一、Ubuntu安装教程

1.1 下载Ubuntu镜像

首先需要下载Ubuntu系统镜像,这里以Ubuntu18.04系统镜像为例。Ubuntu官网地址如下:Ubuntu官网

如下图所示Ubuntu官网下载已经更新到22.04了,因此需要找到历史版本网址:Ubuntu历史版本官网,可根据自己需要进行选择,在此选择Ubuntu18.04,同时建议在Ubuntu18.04和Ubuntu16.04中进行选择。

对于网速较慢情况,大家可以利用阿里云镜像进行下载,网址如下:阿里云Ubuntu镜像


1.2 软碟通刻录U盘

接下找到一个支持UEFI的U盘,下载软碟通软件,这个百度即可。下载安装之后,提示要注册,这个可以不必管它,直接使用即可。打开软碟通软件并插入U盘之后,点击“文件”–>“打开”,打开你电脑上Ubuntu18.https://main.ns189.com/link/T4vw3LyH9kVVXE6e?sub=104镜像,之后点击“启动”–>“写入硬盘镜像”。

之后会出现如下界面,点击写入即可,之后等待刻录镜像文件完成。


1.3 进入Bios,修改相关选项

百度自身机型进入Bios的快捷键,在机器启动时按住快捷键进入Bios,之后关闭安全模式,并把UEFI改成优先启动,即第一位。由于自身主机配置时这些已经关闭,因此无法截图。

1.4 Ubuntu18.04安装流程

之后重启电脑,进入UEFI就能进入Ubuntu16.04安装程序。之后进入之后一系列傻瓜式下一步。接下来博客中的图片借用博客:【手把手AI项目】一、安装win10+linux-Ubuntu16.04的双系统(超细致)中的图,同时也感谢这位朋友在装系统时为我答疑解惑。在这里我们默认使用英文,中文会有很多问题



接下来要做的是分区。在概要中我们就提到我们首先将磁盘全部初始化,说明一下,当前图站服务器是512G固态加上1T机械,运行内存32G,显卡为RTX3090。分区主要分以下这些:

  1. swap:用作虚拟内存,这个一般和自己的物理内存一般大 /:主要用来存放Linux系统文件;
  2. /boot:存放linux内核,用来引导系统的,如果是Legacy启动就要设置引导,UEFI就不用设置这个(UEFI要设置EFI文件);
  3. /usr:存放用户程序,一般在/usr/bin中存放发行版提供的程序,用户自行安装的程序默认安装到/usr/local/bin中;
  4. /home:存放用户文件;

选中指定空闲磁盘,然后点击+ 号,开始分配,特别说明的是系统盘和数据盘建议分开,因此将/home放在机械盘上,其余放在固态上,在选择分区是需要特别注意这一点:

  1. 分配swap,选择主分区,空间起始位置,大小最好和自己物理内存一样,32G,用于交换空间;
  2. 若果使用EFI则设置EFI引导,选择逻辑分区,空间起始位置,用于EFI系统分区,大小设置300M即可;若使用Legacy引导则设置Boot引导,选择逻辑分区,空间起始位置,用于Ext4日志文件,挂载点:/boot,大小设置8G ;
  3. 设置/,选择逻辑分区,空间起始位置,用于Ext4日志文件,挂载点:/,大小的话推荐256G;
  4. 设置usr,选择逻辑分区,空间起始位置,用于Ext4日志文件,挂载点:/usr,大小设置为256G;
  5. 设置home,选择逻辑分区,空间起始位置,用于Ext4日志文件,挂载点:/home,大小为1T;

    由于我是利用UEFI来装Ubuntu的,因此我们最后将启动引导器的设备选择为efi去对应的磁盘。之后有时一系列下一步,**在选择键盘风格时,选择中文,最后等待安装完成。


然后重启,并在启动前拔掉U盘。


二、更换软件源

为了下载更方便,速度更快,往往在使用Linux系列系统时修改apt源为国内的源,一般选择有阿里云,豆瓣之类的,下面简单说下如何更改为阿里云源。

首先是复制源文件备份,以防万一。我们要修改的文件是sources.list,它在目录/etc/apt/下,sources.list是包管理工具apt所用的记录软件包仓库位置的配置文件,同样类型的还有位于 同目录下sources.list.d文件下的各种.list后缀的各文件。命令如下:

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

之后在/etc/apt/sources.list添加阿里源镜像网址,命令如下:

sudo vim /etc/apt/sources.list

由于镜像源地址因系统版本而异,在此列出常见Ubuntu版本的镜像源网址,根据自身安装ubuntu版本进行复制:

# ubuntu16.04 阿里源
deb-src http://archive.ubuntu.com/ubuntu xenial main restricted
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted multiverse universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted multiverse universe
deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb http://archive.canonical.com/ubuntu xenial partner
deb-src http://archive.canonical.com/ubuntu xenial partner
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted multiverse universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-security multiverse

# ubuntu18.04 阿里源
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse

# ubuntu22.04 清华源
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse

# ubuntu22.04 阿里源
deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse

# ubuntu22.04 中科大源
deb https://mirrors.ustc.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse

# ubuntu22.04 网易163源
deb http://mirrors.163.com/ubuntu/ jammy main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ jammy-security main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ jammy-updates main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ jammy-proposed main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ jammy-backports main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ jammy main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ jammy-security main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ jammy-updates main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ jammy-proposed main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ jammy-backports main restricted universe multiverse


之后依次运行如下命令更新软件列表和软件包

sudo apt-get update
sudo apt-get upgrade

如果网速不够快,这两条命令会运行比较长的时间,请耐心等待即可。等更新之后,在命令行安装软件的速度将会大幅度提升。


三、 NVIDIA驱动安装

接下来是安装NVIDIA驱动,这也是安装CUDA10.0及其对应版本的CuDNN和tensorflow、keras等深度学习框架之前最重要的一步。首先进入英伟达中国驱动官网输入显卡型号查看支持显卡驱动的版本,这个过程可能会有一定的延迟,请耐心等待。


接下来我们点击下载,将英伟达驱动的run文件放到Downloads文件夹下。在安装驱动之前我们必须进行相关准备工作。ubuntu默认安装了第三方开源的驱动程序nouveau,安装nvidia显卡驱动首先需要禁用nouveau,不然会碰到冲突的问题,导致无法安装nvidia显卡驱动。首先打开配置文件,禁用nouveau,命令如下:

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

在配置文件末尾添加如下代码:

blacklist nouveau
options nouveau modeset
blacklist rivafb
blacklist vga16fb
blacklist nvidiafb
blacklist rivatv

然后点击保存,可能会出现如下图中不支持设置属性的警告,不要紧,无视就可。后面我们也有类似的情况,依旧是无视即可。然后然配置文件生效,代码如下:

sudo update-initramfs -u

之后我们必须重启系统,这是可会出现屏幕分辨率变低的情况乱,不要惊讶,正常打开命令行然后验证nouveau是否已禁用,代码如下:

lsmod | grep nouveau

若命令行出现如下图所示状态,则说明nouveau成功被禁用。

在图形界面中安装英伟达驱动可能出现无限循环,因此我们必须进入命令行模式。接下来在ubuntu下按ctrl+alt+f1,输入用户名与密码,进入命令行模式。然后在命令行界面下输入如下代码关闭图形界面:

  sudo service lightdm stop      //这个是关闭图形界面,不执行会出错。

然后卸载掉原有驱动,代码如下:

sudo apt-get remove nvidia-*  //(若安装过其他版本或其他方式安装过驱动执行此项)

建议更新下ubuntu版本内核,安装需要的依赖

sudo apt update
sudo apt install dkms build-essential linux-headers-generic

进入Downloads文件夹,首先赋予驱动run文件赋予执行权限,然后执行run文件,代码如下:

cd Downloads
ls			//显示Downloads文件夹中所有文件名称,方便下面输入执行驱动安装程序的文件
sudo chmod  777 NVIDIA-Linux-x86_64-430.50.run			//将最后的英伟达驱动run文件名换成自己下载的驱动名称
sudo ./NVIDIA-Linux-x86_64-430.50.run

安装过程中的选项:(这是copy别人的,自己的没记住,我也是尝试选择了好多遍才安装好)

The distribution-provided pre-install script failed! Are you sure you want to continue? 选择 yes 继续。
Would you like to register the kernel module souces with DKMS? This will allow DKMS to automatically build a new module, if you install a different kernel later? 选择 No 继续。
问题没记住,选项是:install without signing
问题大概是:Nvidia’s 32-bit compatibility libraries? 选择 No 继续。
Would you like to run the nvidia-xconfigutility to automatically update your x configuration so that the NVIDIA x driver will be used when you restart x? Any pre-existing x confile will be backed up. 选择 Yes 继续

这些选项如果选择错误可能会导致安装失败,没关系,只要前面不出错,多尝试几次就好。接下来是挂载Nvidia驱动,代码如下:

modprobe nvidia

建议再次重启之后,打开命令行检查驱动是否安装成功,代码如下:

nvidia-smi

如果出现如下提示,则说明安装成功:


四、安装cuda+cudnn

4.1 安装cuda

在进行安装Cuda之前,我们首先进行相关准备工作。首先确认自己电脑的GPU兼容CUDA,只要电脑是N卡应该就支持,A卡应该是不支持的。在终端中输入以下命令即可查看自己的显卡是否兼容。

lspci | grep -i nvidia

图站服务器显示 compatible兼容
之后要做的是确定Ubuntu18.04是否支持CUDA。输入命令如下:

uname -m && cat /etc/*release


接着确定自己的Ubuntu系统安装了gcc,基本上是安装Ubuntu成功的基本都带有gcc,但是为了确保gcc是否安装,我们利用如下命令进行确认:

gcc --version


接下来确定系统是否已经安装了正确的Kernel Headers和开发包。首先查看系统正在运行的kernel版本:

uname -r


如果不是最新版本,先更新对应的kernels header和开发包:

sudo apt-get install linux-headers-$(uname -r)

接下来进入cuda历史官网下载cuda11.1的安装包。按照下图红框依次点击。

进入如下界面后按照红框依次点击即可,可以根据需要进行选择不同系统和安装方式,在这里使用runfile文件进行安装。

根据官网提供的安装命令依次进行安装:

cd Downloads/
wget https://developer.download.nvidia.com/compute/cuda/11.1.1/local_installers/cuda_11.1.1_455.32.00_linux.run
sudo chmod 777 cuda_11.1.1_455.32.00_linux.run
sudo sh cuda_11.1.1_455.32.00_linux.run --override

执行上述命令后会出现如下界面,输入accept后点击回车。

接着出现如下界面,将Driver及其下属选项全部不选中,然后点击Install进行安装,安装过程有点长,请耐心等待。需要注意的是在如下界面中X代表选中,而中括号中什么都没有代表未选中

接下是配置相关环境变量。首先打开~/.bashrc文件,代码如下:

sudo vim ~/.bashrc

将以下内容写入到~/.bashrc尾部,并保存成功。

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

然后让~/.bashrc生效,代码如下:

source ~/.bashrc

之后利用gedit命令打开在/etc/profile文件中,添加CUDA环境变量,代码如下:

sudo vim /etc/profile

打开文档都在文档结尾加上下面两句:

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

保存后, 执行下列命令, 使环境变量立即生效,代码如下:

source /etc/profile

同时添加lib库路径,在 /etc/ld.so.conf.d/新建文件 cuda.conf,命令如下:

sudo vim /etc/ld.so.conf.d/cuda.conf

在文中加入下面内容:

/usr/local/cuda/lib64

执行下列命令使之立刻生效,代码如下:

sudo ldconfig

最后我们利用测试CUDA的samples来测试cuda安装是否成功,代码如下:

cd /usr/local/cuda-11.1/samples/1_Utilities/deviceQuery
sudo make
sudo ./deviceQuery

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

最后如下命令来查看驱动版本,代码如下:

nvcc -V

4.2 安装cudnn

之后进入cudnn官网进行下载cudnn,如下图所示。

点击红框按钮进入下载页面,如果你未登录账号,跳转页面如下。

有英伟达账号点击上图中红框的登录按钮进入登录页面即可,按提示完成登录。若没英伟达账号则点击篮框的立即加入进入注册账号页面,并按提示完成账号注册,然后在进行登录。我自己使用qq进行登录。

之后选择和cuda11.1版本对应的cudnn版本进行下载,在这里选择8.1.1版本。

在安装包下载完成之后,默认放置在Downloads文件中。我们利用cd命令进入安装包所在的文件夹对安装包进行解压,命令如下:

cd Downloads/
sudo chmod 777 cudnn-11.2-linux-x64-v8.1.1.33.tgz
sudo tar -zxvf  cudnn-11.2-linux-x64-v8.1.1.33.tgz

之后我们讲图片中的文件依次复制到/usr/local/cuda中对应的文件夹下。

sudo chmod 777 -R ./cuda  
sudo mv cuda/include/* /usr/local/cuda/include
sudo mv cuda/lib64/* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*

4.3 卸载cuda

由于开发需要部分程序可能会对cuda版本有特殊要求,更换cuda版本则成为必然选择。因此需要已经安装好的cuda版本卸载后然后安装新版本的cuda。首先进入cuda文件夹,找到卸载程序:

# 下面需要根据自己情况更换cuda版本号
cd /usr/local/cuda-11.0/bin
ls


然后执行该程序完成cuda的卸载:

sudo ./cuda-uninstaller

执行上述命令后会出现如下界面,请一一勾选讲所有文件删除,在该界面中X代表已勾选,而非代表不选,最后点击Done正式进入卸载流程,该过程需要等待一段时间。

该流程结束后需要,再次进入cuda文件夹所在父目录,核验带有’cuda’名称文件夹是否全部删除,命令如下:

cd /usr/local
ls


若没有,则手动删除文件夹:

# 根据自身情况跟换cuda版本号
sudo rm -rf cuda-11.0/

五、深度学习环境安装

5.1 安装Anaconda

首先到Anaconda官网下载Anaconda安装包,如下图所示。

若网速太慢可以考虑国内镜像源下载,例如清华镜像源,根据时间找到最新版本的Linux安装包。

下载完成后建议将安装包放在根目录下,然后在命令行中赋予相应执行权限,之后在执行安装sh文件,代码如下:

cd Downloads/
sudo chmod 777 Anaconda3-2021.11-Linux-x86_64.sh
bash Anaconda3-2021.11-Linux-x86_64.sh

安装过程中看到

Welcome to Anaconda3 5.2.0
In order to continue the installation process, please review the license
agreement. (为了继续安装过程,请审核许可证。协议。)
Please, press ENTER to continue
直接按enter查看协议,然后一直enter下去,然后看到Do you accept the license terms? [yes|no](你接受许可证条款吗?)
直接输入yes 然后按enter,进入下一步
接下来会提示安装地址:Anaconda3 will now be installed into this location:
/home/anaconda3
Press ENTER to confirm the location
Press CTRL-C to abort the installation
Or specify a different location below
强烈建议默认即可,按enter继续下一步,注意这里按ctrl + c 直接会终止安装。接下来先等待安装即可。看到Thank you for installing
Anaconda3! 表示安装成功。

然后是配置环境变量,首先打开配置文件,代码如下:

 sudo vim ~/.bashrc

之后下面代码输入带文件末尾:

export PATH=/home/dpw/anaconda3/bin:$PATH

然后更新配置文件,代码如下:

source ~/.bashrc 

为了加快pip下载速度,将pip的默认源更换位阿里源,命令如下:

mkdir ~/.pip
sudo vim ~/.pip/pip.conf

# 将以下内容添加到~/.pip/pip.conf
[global]
index-url = http://mirrors.aliyun.com/pypi/simple/
 
[install]
trusted-host=mirrors.aliyun.com

5.2 Pytorch框架安装

进入Pytorch历史版本官网,选择适合自身服务器的pytorch版本进行安装。

在这里假设cuda版本为11.1,那么可以安装pytorch1.8,首先建立pytorch1.8的虚拟环境,并激活环境,命令如下:

conda create -n pytorch1.8 python=3.8
conda activate pytorch1.8


然后安装pytorch1.8安装命令如下:

pip install torch==1.8.1+cu111 torchvision==0.9.1+cu111 torchaudio==0.8.1 -f https://download.pytorch.org/whl/torch_stable.html

假如网速不够快那么则会导致安装失败,因此建议从Pytorch离线安装包官网上将相应离线安装包下载到本地后再进行安装

安装命令如下:

pip install torch-1.8.0+cu111-cp38-cp38-linux_x86_64.whl
pip install torchvision-0.9.0+cu111-cp38-cp38-linux_x86_64.whl

接着安装常见第三方工具库:

# 常见第三方工具库
pip install ipython scipy numpy pandas matplotlib yacs pyyaml opencv-python opencv-contrib-python scikit-learn Pillow onnx onnx-simplifier onnxruntime-gpu onnxoptimizer tqdm tensorboardX  pascal-voc-writer cython visdom

# COCO-API
git clone https://github.com/cocodataset/cocoapi.git  $COCOAPI
cd $COCOAPI/PythonAPI
sudo make install
(or)
python3 setup.py install --user

5.3 PaddlePaddle框架安装

进入PaddlePaddle官网,找到适合服务器cuda版本的按照包,如下图所示,

安装命令如下:

python -m pip install paddlepaddle-gpu==2.2.2.post111 -f https://www.paddlepaddle.org.cn/whl/linux/mkl/avx/stable.html

假如网速不够快那么则会导致安装失败,因此建议从PaddlePaddle离线安装包官网上将相应离线安装包下载到本地后再进行安装

安装命令如下:

pip install paddlepaddle_gpu-2.2.2.post111-cp38-cp38-linux_x86_64.whl

接着安装常见第三方工具库:

# 常见第三方工具库
pip install ipython scipy numpy pandas matplotlib yacs pyyaml opencv-python opencv-contrib-python scikit-learn Pillow onnx onnx-simplifier onnxruntime-gpu onnxoptimizer tqdm tensorboardX  pascal-voc-writer cython visdom paddle2onnx

# COCO-API
git clone https://github.com/cocodataset/cocoapi.git  $COCOAPI
cd $COCOAPI/PythonAPI
sudo make install
(or)
python3 setup.py install --user

5.4 TensorRT安装

进入TensorRT官网下载安装好对应安装包,TensorRT安装包会根据Linux版本和cuda版本不同而存在不一样的安装包。在这里我们假设Linux系统为Ubuntu18.04,Cuda版本为11.1,以TensorRT7.2.2.3为例,如下图所示。



等待安装包下载完成,然后进行解压,并移动到当前用户目录下,命令如下:

cd Downloads/
sudo chmod 777 
sudo tar -zxvf TensorRT-7.2.2.3.Ubuntu-18.04.x86_64-gnu.cuda-11.1.cudnn8.0.tar.gz
sudo chmod 777 -R TensorRT-7.2.2.3/
sudo mv   TensorRT-7.2.2.3/ /home/dpw

接着进入指定的虚拟环境,安装相关python工具包,以pytorch1.8虚拟环境为例,命令如下:

conda activate pytorch1.8
pip install cython pycuda==2019.1
cd /home/dpw/TensorRT-7.2.2.3/
cd python 
pip install tensorrt-7.2.2.3-cp38-none-linux_x86_64.whl
cd ..
cd graphsurgeon
pip install graphsurgeon-0.4.5-py2.py3-none-any.whl
cd ..
cd onnx_graphsurgeon
pip install onnx_graphsurgeon-0.2.6-py2.py3-none-any.whl
cd ..
cd uff
pip install uff-0.6.9-py2.py3-none-any.whl

然后在配置文件中假如TensorRT的环境变量,命令如下:

sudo vim  ~/.bashrc
# 下面命令假假如~/.bashrc文件文件中,需要根据自身需要调整TensorRT文件夹的绝对路径
export TENSORRT_ROOT=/home/dpw/TensorRT-7.2.2.3/
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/dpw/TensorRT-7.2.2.3/lib

# 然后使配置文件生效
source ~/.bashrc

5.5 OpenCV编译与安装

在这里介绍的是C++版本OpenCV的安装流程,Python版本的OpenCV安装流程在此不介绍。首先安装OpenCV库相关的所需的CMake,命令如下:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential cmake

接着安装OpenCV相关的依赖库,命令如下:

sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev libatlas-base-dev gfortran libgtk2.0-dev libjpeg-dev libpng-dev

接着在OpenCV官网下载源码压缩包,在这里我选择的是4.5.5版本,然后完成接源码解压,命令如下:

sudo chmod 777 opencv-4.5.5.zip
unzip opencv-4.5.5.zip

接着利用CMake编译OpenCV,命令如下:

cd opencv4.5.5
sudo mkdir build
cd build
sudo cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
sudo sudo make -j12				# 根据服务器硬件自行选择几个线程同时编译
sudo make install

编译成功后,开始配置环境变量。首先在/etc/ld.so.conf.d/opencv.conf文件中添加相关路径并使文件生效,命令如下:

sudo vim /etc/ld.so.conf.d/opencv.conf
# 添加内容
/usr/local/lib
# 文件生效
sudo ldconfig

接着配置环境变量,命令如下:

sudo vim /etc/bash.bashrc
# 添加内容
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
# 文件生效
source /etc/bash.bashrc
sudo updatedb

六、编辑器安装与配置

6.1 Pycharm

在这里默认安装Pycharm专业版,首先从Pycharm官网上下载对应安装包,如下图所示。

安装包下载完成之后,对压缩包进行解压,对文件夹赋予权限,并放置当前用户文件夹下,命令如下:

cd Downloads/
sudo chmod 777 pycharm-professional-2021.2.tar.gz
sudo tar -zxvf pycharm-professional-2021.2.tar.gz
sudo chmod 777 -R pycharm-2021.2/
sudo mv pycharm-2021.2/ /home/dpw

之后为了之后能够快速运行程序,我们必须建立桌面快捷方式。创建快捷方式文件代码如下:

cd /usr/share/applications/
sudo gedit pycharm.desktop

将如下内容粘贴到文件当中,最好在粘贴之后讲注释掉,然后保存即可。之后在上述快捷方式该快捷方式拖到桌面即可

[Desktop Entry]
Type=Application
Name=Pycharm	
GenericName=Pycharm3													
Comment=Pycharm3:The Python IDE										
Exec=/home/dpw/pycharm-2021.2/bin/pycharm.sh
Icon=/home/dpw/pycharm-2021.2/bin/pycharm.png
Terminal=pycharm
Categories=Pycharm;

然后讲该快捷方式拖拽到桌面即可。接下来进行pycharm配置操作,在创建新py脚本时,自动添加作者等信息,启动Pycharm,并按照顺序依次打开File->Settings->Editor->File and Code Templates->Python Script,将如下内容复制到窗口后点击Apply

##!/usr/bin/python3
# -*- coding: utf-8 -*-
# @Time    : $DATE $TIME
# @Author  : DaiPuWei
# @Email   : daipuwei@qq.com
# @File    : $NAME.py
# @Software: $PRODUCT_NAME

def run_main():
    """
    这是主函数
    """


if __name__ == '__main__':
    run_main()

接着添加常用插件,打开File->Settings->Plugins,然后右侧的文本框中输入想要的查看的插件名称,在下方就罗列已安装的相关插件。

需要安装的插件有:

  1. Rainbow CSV
  2. Raibow Brackets
  3. Indent Rainbow
  4. Tabnine
  5. CodeGlance
  6. Material Theme

6.2 Clion

首先从Clion上下载对应安装包,如下图所示。

安装包下载完成之后,对压缩包进行解压,对文件夹赋予权限,并放置当前用户文件夹下,命令如下:

cd Downloads/
sudo chmod 777 CLion-2022.2.4.tar.gz
sudo tar -zxvf CLion-2022.2.4.tar.gz
sudo chmod 777 -R clion-2022.2.4/
sudo mv clion-2022.2.4/ /home/dpw

之后为了之后能够快速运行程序,我们必须建立桌面快捷方式。创建快捷方式文件代码如下:

cd /usr/share/applications/
sudo gedit clion.desktop

将如下内容粘贴到文件当中,最好在粘贴之后讲注释掉,然后保存即可。之后在上述快捷方式该快捷方式拖到桌面即可

[Desktop Entry]
Type=Application
Name=Clion
GenericName=Clion3													
Comment=Clion3:The C/C++ IDE										
Exec=/home/dpw/clion-2022.2.4/bin/clion.sh
Icon=/home/dpw/clion-2022.2.4/bin/clion.png
Terminal=clion
Categories=Clion;

然后讲该快捷方式拖拽到桌面即可。接下来进行Clion配置操作,在创建新文件时,自动添加作者等信息,启动Clion,并按照顺序依次打开File->Settings->Editor->File and Code Templates->inlcude,将如下内容复制到窗口后点击Apply

/*
 **************************************************************************************************************
 * @Time    : $DATE $TIME
 * @Author  : DaiPuWei
 * @Email   : daipuwei@qq.com
 * Copyright (c) $YEAR ThunderSoft All rights reserved.
 **************************************************************************************************************
 */

接着添加常用插件,打开File->Settings->Plugins,然后右侧的文本框中输入想要的查看的插件名称,在下方就罗列已安装的相关插件。

需要安装的插件有:

  1. Rainbow CSV
  2. Raibow Brackets
  3. Indent Rainbow
  4. Tabnine
  5. CodeGlance
  6. Material Theme

七、Docker和Nvidia-Docker安装

7.1 Docker安装和配置

利用国内镜像源一键安装docker,命令如下:

# 阿里源
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

# daocloud 
curl -sSL https://get.daocloud.io/docker | sh

接着将当前用户加入到组,并赋予当前用户root权限,命令如下:

sudo groupadd docker
sudo gpasswd -a $USER docker

之后重启docker,并测试是否成功,命令如下:

# 重启docker
sudo service docker restart
newgrp - docker
# 设置成开机自启
sudo systemctl enable docker
# 测试赋予权限是否成功
docker ps
docker --version


为了加快docker拉取镜像速度,需要更换docker镜像源,同时将拉取镜像的保存地址更换到数据盘,命令如下:

sudo vim /etc/docker/daemon.json

# 将如下内容复制到/etc/docker/daemon.json

    "registry-mirrors": [
        "https://hub-mirror.c.163.com",
        "https://mirror.baidubce.com",
        "https:

❤️爆肝十八万字《python从零到精通教程》第二版,贴心保姆教你从零变大佬❤️(建议收藏),学不会找我!(代码片段)

文章目录一、pycharm下载安装二、python下载安装三、pycharm上配置python四、配置镜像源让你下载嗖嗖的快4.1)pycharm内部配置4.2)手动添加镜像源4.3)永久配置镜像源五、插件安装(比如汉化?)5.1)自动... 查看详情

折腾深度学习——用anaconda配置python开发环境(windows)保姆级教程(代码片段)

目录零、前言一、软件安装二、软件配置 三、安装CUDA以及cuDNN(GPU版需要,CPU请跳过)四、安装Pytorch五、检验安装六、结束七、IDE的安装八、Q&A零、前言    近期准备学习深度学习相关的知识,需要使用Pyth... 查看详情

项目管理从零到一的流程---个人理解向

...用户对象、用户数量要求运维组提供基础环境:测试服务器、域名、基础开发环境(Java、MySQL、Redis、Nginx、Jenkins、文件服务器等),提前抛出问题。参与需求会,评审需求,画出业务流程图或UML图。需求... 查看详情

从零到一学习flutter——布局(代码片段)

环境开发机器:Mac$flutterdoctorDoctorsummary(toseealldetails,runflutterdoctor-v):[✓]Flutter(Channelstable,3.7.1,onmacOS13.122C65darwin-arm64,localezh-Hans-CN)安装环境的流程就不重复写了,可以参考官方文档进行安装。第一个应用我们直接用fluttercreatetestapp... 查看详情

❤️爆肝二十万字《java从零到精通教程》,贴心保姆教你从零变大佬❤️(建议收藏),学不会找我!(代码片段)

💂个人主页:Java程序鱼🤟整个Java体系的面试题我都会分享,大家可以持续关注💬如果文章对你有帮助,欢迎关注、点赞、收藏(一键三连)和订阅专栏哦💅有任何问题欢迎私信,看到会及时... 查看详情

一、服务器从零到一——ubuntu搭建nginx静态服务器

参考技术AUbuntu18.04上的Nginx默认启用了一个服务器模块,该模块被配置为在/var/www/html目录下提供文档。虽然这适用于单个站点,但如果您托管多个站点,它可能会变得很笨重。我们不必修改/var/www/html,而是在/var/www为我们的exampl... 查看详情

保姆级深度学习环境搭建(亲测避坑)(代码片段)

一、安装显卡驱动1、查看显卡驱动型号可以打开任务管理器,点开性能,看到显卡名字;2、下载显卡驱动进入英伟达官网,下载对应的显卡驱动:官方驱动|NVIDIAhttps://www.nvidia.cn/Download/index.aspx?lang=cn选择对... 查看详情

保姆级深度学习环境搭建(亲测避坑)(代码片段)

一、安装显卡驱动1、查看显卡驱动型号可以打开任务管理器,点开性能,看到显卡名字;2、下载显卡驱动进入英伟达官网,下载对应的显卡驱动:官方驱动|NVIDIAhttps://www.nvidia.cn/Download/index.aspx?lang=cn选择对... 查看详情

从零到一:入职周记

...开始工作!对于我来说,一切都是新的,全部都是开始。从零开始,自己迈出了第一步。  下午2点半开始,搬了一台电脑,随便给我分配了一个座位,开始安装工作环境。首先,理清了以下该电脑的磁盘,看了以下以前工作... 查看详情

nacos真香,从零到一学起来(代码片段)

Nacos是阿里巴巴开源的微服务管理平台,可以帮助开发者快速实现动态服务发现、服务配置、服务元数据及流量管理。这篇文章主要来讲一下Nacos作为配置中心和注册中心的使用。1安装1.1linux下安装首先搭建一套单机版的Nacos... 查看详情

从零到一:如何熟悉项目?

进入一家新的公司,一般来说不会那么巧合就遇到项目刚好开始,最多的情况就是加入一个已经处于开发之中的项目。作为一名开发人员,我是这样来熟悉一个陌生的项目的。一.主要技术:了解项目所用的主要框架技术。首先... 查看详情

zookeeper单节点部署,手把手从零到一(代码片段)

...点部署,手把手从零到一事前准备:1、一台Linux服务器或者是一台虚拟机2、准备好JDK环境3、安装好wget(当然也可以不用这个,只是用于下载安装包的一个工具,所以能下载好包就是没问题的)4、需要了... 查看详情

javaweb从零到一会话技术cookie&session&jsp(代码片段)

...4.细节:5.session的特点总结前言会话技术在我们JavaEE服务器开发过程中是一项非常重要的技术,他可以解决非常重要的问题会话技术会话:一次会话中包含多次请求和响应。一次会话:浏览器第一次给服务器 查看详情

长安链从零到一部署-chainmaker-v2.1.0(代码片段)

如何通过长安链快速部署区块链系统文章目录长安链从零到一源码部署一、环境及概念1.1、环境依赖1.2、相关概念二、环境安装2.1、配置sudo权限2.2、修改源2.3、安装git2.4、安装golang2.5、安装docker2.6、安装GLIBC_2.18【若运行时找不... 查看详情

从零到一:caffe-windows(cpu)配置与利用mnist数据集训练第一个caffemodel

一、前言   本文会详细地阐述caffe-windows的配置教程。由于博主自己也只是个在校学生,目前也写不了太深入的东西,所以准备从最基础的开始一步步来。个人的计划是分成配置和运行官方教程,利用自己的数据集进... 查看详情

玩转阿里云:从零到一上手玩转云服务器学习报告(代码片段)

从最初的服务器登录到一步步远程登录服务器,部署资源,内容很详细,除了线上实验手把手的教学平台,还有钉钉群里和小伙伴们的互帮互助,直播老师的干货奉献,带我们开启的阿里云丰富的云上资源... 查看详情

深度学习保姆级教程(附代码+数据)

近期正在出一套关于深度学习的实例教程,目前是入门阶段。【深度学习100例-卷积神经网络(CNN)实现mnist手写数字识别|第1天】【深度学习100例-卷积神经网络(CNN)彩色图片分类|第2天】【深度学习100例-卷... 查看详情

从零到一学习flutter——状态和路由(代码片段)

背景前文提到了Widget的状态,在Flutter中一切都是Widget,那么由Widget组成的页面,会有很多复杂的父子关系,要想交互友好,则需要这些Widget进行通讯,也就是所谓的状态管理。同时在了解了布局之后,我们会写出很多的页面,... 查看详情