前言

之前搭建的深度学习平台,只有100G,下载几个数据集和库就满了,拆东墙补西墙并不是一个权宜之计,所以只能换一个更大(256G)的固态硬盘。下面将会详细的阐述一个完善的深度学习平台是如何炼成的

1. Ubuntu安装篇

  1. 官方下载地址:

    • https://ubuntu.com/download/desktop/thank-you?version=20.04.2.0&architecture=amd64
  2. ISO文件下载完毕后,用UltraISO写入到U盘就行

  3. 特别注意:在安装Ubuntu20.04之前,如果是2020年下半年之后的主板(比如我用的tuf gaming b450m pro s自带Realtek8125b网卡),必须先确保自己有一个USB免驱网卡,这点很重要,后面网卡篇会提到!

  4. 在BIOS界面选择UEFI安装,Ubuntu -> Install Ubuntu,语言一定一定一定要选英文。如果选中文,默认用户路径会有中文:桌面,下载,文档等,且很难改成Desktop,Download,Document。但先选英文,再在settings选中文,就能保留英文路径。

  5. 具体选项记不太清,大概就是minimal installation,然后不要勾选第三方软件,不然装显卡驱动会崩溃(别人说的,不敢尝试)。安装类型选others (第三个)。

  6. 关于分区: 首先确定装Ubuntu的固态硬盘是MBR还是GPT,区别这里不做详解,我用的是MBR

    500MB, primary, 空间起始位置, Ext4, /Boot
    8000MB, primary, 空间起始位置, Swap
    剩下的MB, primary, 空间起始位置, Ext4, /
    

    如果硬盘是GPT,则在/Boot分区前面加一个/EFI分区,其他分区一样

    500MB, primary, 空间起始位置, Ext4, /EFI
    

    对于swap,众说纷纭,但经本人归纳

    if 内存 < 16GB:swap = 内存 * 2
    else:swap = 8GB
    

    最后,安装启动引导器的设备:windows boot manager

  7. 一定不要安装Ubuntu商店里的VS Code,除非你不在VS Code里输入中文!

2. 网卡篇

由于Ubuntu20.04不含Realtek8125b网卡驱动,所以初进入Ubuntu,无法使用网络!这就是为什么需要自备USB免驱网卡,通过USB网卡下载编译环境。

  1. 准备编译环境:

    sudo apt-get install --reinstall linux-headers-$(uname -r) linux-headers-generic build-essential dkms
    
  2. 下载源码:

    • 官方下载地址:
      https://www.realtek.com/en/component/zoo/category/network-interface-controllers-10-100-1000m-gigabit-ethernet-pci-express-software
    • 如果是千兆网卡,就选择GBE(r8168)
    • 如果是2.5G网卡,就选择2.5G(r8125)
  3. 解压源码

    sudo tar xvf r8125-9.005.06.tar.bz2 -C /usr/src
    
  4. 添加dkms.conf文件到/usr/src/r8125-9.005.06/

    touch /usr/src/r8125-9.005.06/dkms.conf
    gedit /usr/src/r8125-9.005.06/dkms.conf
    

    内容如下:

    PACKAGE_NAME=Realtek_r8125
    PACKAGE_VERSION=9.005.06DEST_MODULE_LOCATION=/updates/dkms
    BUILT_MODULE_NAME=r8125
    BUILT_MODULE_LOCATION=src/MAKE="'make' -C src/ all"
    CLEAN="'make' -C src/ clean"
    AUTOINSTALL="yes"
    
  5. 编译:

    sudo dkms add -m r8125 -v 9.005.06
    sudo dkms build -m r8125 -v 9.005.06
    sudo dkms install -m r8125 -v 9.005.06
    sudo depmod -a
    sudo modprobe r8125
    
  6. 验证安装结果:

    sudo apt install ifconfig
    

    运行命令ifconfig -a即可看到enxxx的有线网接口。10秒之内,右上角会显示有线网络的图标。

  7. Linux内核版本升级后,任然需要重新编译安装,执行以下命令卸载后安装:

    sudo dkms remove r8125/9.005.06 --all
    

3. 安装必要软件篇

  1. 安装Google Chrome

     wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.debsudo dpkg -i google-chrome-stable_current_amd64.deb
    
  2. 安装搜狗拼音输入法

    1. 安装Fcitx输入框架

      sudo apt install fcitx-bin
      sudo apt-get install fcitx-table
      
    2. 下载Linux版本搜狗输入法

      • 官方下载地址:https://pinyin.sogou.com/linux/
    3. 安装

      sudo dpkg -i sogoupinyin_2.4.0.3469_amd64.deb
      
      遇到 dpkg: error processing package sogoupinyin (–install): dependency problems - leaving unconfigured
      输入 sudo apt-get install -f  (出现安装错误可以使用,检查修复依赖)
      中间有提示,Do you want to continue? [Y/n] 输入 Y
      
    4. 进行相关设置
      settings–>Region&language–>Manage Installed Languages Input method改为fcitx
      然后点击上面的Apply System-Wide应用到全局。

    5. 重启后 (可以顺便做完4.1),在右上角出现一个键盘标志,点击进入,选择Configure Current Input Method
      进入下面的Input Method界面后,选择+号进入到Add input method界面,将下面的Only Show Current Language点掉后,在搜索栏搜索sogou,选中之后进行添加(建议不要把搜狗输入法移动到第一位,不然按shift切换中英文时,有时输入板会出现乱码)。搜狗 --> 设置,默认是shift切换中英文,可以把搜狗设置的中英文切换快捷键关掉,在fcitx的GlobalConfig 中Trigger Input Method 改为Lshift,这样也可以按shift切换中英文。

  3. VS Code官方下载网址:https://code.visualstudio.com/Download

4. 准备工作

  1. 在bios中务必关闭Secure Boot

     如果在bios中Secure Boot是灰色的,无法disable,请往下看:关于Secure Boot在bios中有一段话解释:Secure Boot be enabled only when: (1).Platform Key(PK) is enrolled and platform is operating in User mode; (2). CSM function is disabled in setup。因此,要Disable Secure Boot,首先如果PK(也就是bios中Key Managemnet有key,请全部 delete),其次Boot选项中,Launch CSM请设置为Disable。
    
  2. 禁用nouveau
    sudo vim /etc/modprobe.d/blacklist.conf
    

    输入以下两行:

    blacklist nouveau
    options nouveau modeset=0
    

    刷新内核

    sudo update-initramfs -u
    

    关闭驱动控制台

    sudo service lightdm stop
    

    如果提示 unit lightdm.service not loaded
    则先安装LightDm

    sudo apt install lightdm
    

    安装完毕后跳出一个界面,选择lightdm后,再

    sudo service lightdm stop
    

    查看是否安装成功,需先重启,若无输出,则表示关闭成功

    lsmod | grep nouveau
    

5. 安装显卡驱动

  1. 下载和安装N卡驱动:https://www.nvidia.cn/geforce/drivers/

    sudo chmod a+x NVIDIA-Linux-x86_64-460.84.run
    sudo ./NVIDIA-Linux-x86_64-460.84.run -no-x-check -no-nouveau-check -no-opengl-files
    

    问题选项:

    【YES】The distribution-provided pre-install script failed! Are you sure you want to continue?
    【NO】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?
    【install without signing】问题忘了?
    【NO】Nvidia's 32-bit compatibility libraries?
    【YES】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.
    
  2. 挂载Nvidia驱动:

    modprobe nvidia
    
  3. 检查驱动是否安装成功:

    nvidia-smi
    nvidia-settings # 若弹出设置对话框,表示驱动安装成功
    
  4. 注意nvidia-smi显示的cuda版本可以nvcc -V显示的cuda版本不同。因为CUDA有两种API,分别是驱动API(Runtime API)和运行时API(Driver API)

6. 安装CUDA与cuDNN

简单说下两者的区别,CUDA是并行计算架构,cuDNN是深度神经网络的GPU加速库。CUDA类似于工作台,而cuDNN则是螺丝刀,合则两利,分则可能不如CPU(doge)。

  1. 官方下载CUDA toolkit:
    https://developer.nvidia.com/cuda-toolkit-archive

    # 我装的是CUDA 10.2
    wget https://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda_10.2.89_440.33.01_linux.run
    
  2. 下载 gcc7
    CUDA 10.2只支持gcc7,Ubuntu20.04默认安装gcc9

    sudo apt-get install gcc-7
    sudo apt-get install g++-7
    

    将gcc7,g++7设为默认选项

    sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 50
    sudo update-alternatives --config gccsudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 50
    sudo update-alternatives --config g++
    

    查看是否成功:

    gcc --version
    g++ --version
    
  3. 安装CUDA toolkit

    sudo sh cuda_10.2.89_440.33.01_linux.run
    # toolkit包自带驱动,如果之前安了驱动,可不选Driver
    
  4. 配置环境变量

    gedit ~/.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
    
  5. 选择下载合适的版本安装cuDNN,需使用Nvidia账号

    • https://developer.nvidia.com/cudnn
    • 这里还是以10.2为例
    wget https://developer.nvidia.com/compute/machine-learning/cudnn/secure/8.2.1.32/10.2_06072021/cudnn-10.2-linux-x64-v8.2.1.32.tgz
    

    解压cuDNN压缩包后

    sudo cp cuda/include/cudnn.h /usr/local/cuda-10.2/include
    sudo cp cuda/lib64/libcudnn* /usr/local/cuda-10.2/lib64
    sudo chmod a+r /usr/local/cuda-10.2/include/cudnn.h
    sudo chmod a+r /usr/local/cuda-10.2/lib64/libcudnn*
    
  6. 检查是否安装成功

    nvcc -V
    

    如果成功,则会显示

    Cuda compilation tools, release 10.2, V10.2.89
    

7. 安装Anaconda

  1. 官方下载地址:

    https://www.anaconda.com/products/individual
    
  2. 安装(全部回车 + yes)
    bash Anaconda3-2020.02-Linux-x86_64.sh
    
  3. 配置环境变量
    gedit ~/.bashrc
    
     export PATH=“/home/用户名/anaconda3/bin:$PATH”
    
    source ~/.bashrc
    
  4. 检查是否安装成功
    • python
    [GCC 7.5.0] :: Anaconda, Inc. on linux
    

8. 改为清华源

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 --set show_channel_urls yes

9. 搭建深度学习环境

  1. 新建conda环境

    conda create -n env_name python=3.8
    conda remove -n env_name --all
    
  2. 安装opencv

    pip install opencv-python==4.1.1.26
    
  3. 安装jupyter notebook

    conda install jupyter notebook
    
  4. 安装Open3D

    pip install open3d
    

    检验是否安装成功

    python -c "import open3d as o3d; print(o3d)"
    
  5. 安装 Pytorch

    # pytorch 1.9
    conda install pytorch torchvision torchaudio cudatoolkit=10.2 -c pytorch
    
    # pytorch 1.8
    conda install pytorch torchvision torchaudio cudatoolkit=10.2 -c pytorch-lts
    
  6. 检验Pytorch是否安装成功

    torch.cuda.is_available()
    

10. 关闭自动更新

当Linux内核版本更新之后,会自动切换到新的版本,但原来安装的显卡驱动却还是停留在了原来的内核版本,为了防止此情况发生,需要关闭自动更新。

  1. 显示所有内核

    dpkg --get-selections|grep linux
    

    删除不必要的内核

    sudo apt-get purge 【image/head/module】
    
  2. 关闭自动更新
    $sudo apt-mark hold linux-image-5.8.0-59-generic
    linux-image-5.8.0-59-generic set on hold.$sudo apt-mark hold linux-headers-5.8.0-59-generic
    linux-headers-5.8.0-59-generic set on hold.$sudo apt-mark hold linux-modules-extra-5.8.0-59-generic
    linux-modules-extra-5.8.0-59-generic set on hold.(设置为保留)
    
  3. 打开内核配置文件:
    sudo gedit /etc/apt/apt.conf.d/10periodic
    

    0为关闭

    APT::Periodic::Update-Package-Lists "0";
    APT::Periodic::Download-Upgradeable-Packages "0";
    APT::Periodic::AutocleanInterval "0";
    APT::Periodic::Unattended-Upgrade "0";
    

11. Snap(非必要)

  1. 安装

    sudo apt-get install snapd
    sudo apt-get install snapcraft
    
  2. 配置环境

    gedit ~/.bahsrc
    export PATH=$PATH:/snap/bin
    source ~/.bashrc
    
  3. 列出已经安装的snap包

    sudo snap list
    
  4. 搜索要安装的snap包

    sudo snap find <text to search>
    
  5. 安装一个snap包

    sudo snap install <snap name>
    
  6. 更新一个snap包,如果你后面不加包的名字的话那就是更新所有的snap包

    sudo snap refresh <snap name>
    
  7. 把一个包还原到以前安装的版本

    sudo snap revert <snap name>
    
  8. 删除一个snap包

    sudo snap remove <snap name>
    

12. 其他

  1. clion

    sudo snap install clion --classic
    
  2. pycharm
    sudo snap install pycharm-professional --classic
    
  3. 网易云音乐
    sudo snap install netease-music --devmode --beta
    

从0开始搭建Ubuntu20.04深度学习平台(CUDA, cuDNN, 显卡驱动)相关推荐

  1. 从0开始建立谷歌云深度学习平台

    对于研究深度学习的朋友来说,GPU服务器是必不可少的,但是对于很多朋友来说可能没有现成的昂贵GPU服务器供使用,因此利用云服务器来训练模型成为另一个选型.谷歌云较其他云服务器(AWS,阿里云等等)的优 ...

  2. 从头开始搭建谷歌云深度学习平台

    对于研究深度学习的朋友来说,GPU服务器是必不可少的,但是对于很多朋友来说可能没有现成的昂贵GPU服务器供使用,因此利用云服务器来训练模型成为另一个选型.谷歌云较其他云服务器(AWS,阿里云等等)的优 ...

  3. 硅步携手Allegro.ai,搭建强大的深度学习平台

    10月9日,硅步机器人(gaitech.com)下属的上海硅步(gaitech.net)与Allegro.AI签署全面战略合作协议,硅步机器人作为Allegro.AI在中国的合作伙伴,共同搭建深度学习 ...

  4. 一文掌握Ubuntu20.04深度学习环境搭建(显卡驱动、CUDA、CUDNN、NCCL、Pytorch、PaddlePaddle)

    目录 一.Ubuntu系统安装 1.1 制作U盘镜像并安装 1.2 安装make.g++.cmake 1.3 安装中文输入法 1.4 安装VS Code 二.深度学习环境安装 2.1 切换Python ...

  5. tensorflow 深度学习 前期准备之 1080Ti显卡驱动安装 及 CUDA CUDNN 安装

    终于开始进军深度学习了,所用到的是tensorflow 在一位资深的NLP朋友的帮助下,幸运的找到了一台显卡是1080ti 内存是16G的不错的电脑 , 然后参考此文 https://www.cnbl ...

  6. Ubuntu20.04 联想拯救者RTX3060 配置显卡驱动CUDA pytorch

    首先有两点说明: 1.输入nvidia-smi的CUDA版本可以大于cudatoolkit,但是不能小于 2.我安装的输入nvcc -V 没有显示cuda版本但是实测可以正常用GPU训练 安装显卡驱动 ...

  7. 超详细教程——Ubuntu20.04 安装英伟达NVIDIA显卡驱动、CUDA、Cmake以及不同版本的CUDA切换

    在windows和linux双系统下,为ubuntu安装nvidia.cuda.cmake等程序是一个可能会难到各个计算机小白的问题,本文将一步步地带您学会安装以上内容. 一.安装英伟达NVIDIA显 ...

  8. Ubuntu16.04深度学习环境搭建

    Ubuntu16.04深度学习环境搭建(anaconda3+cuda10.0+cudnn7.6+pytorch1.2) 文章目录 Ubuntu16.04深度学习环境搭建(anaconda3+cuda1 ...

  9. WIN10+RTX 2080Ti深度学习平台搭建,VS2019+CUDA11.0+cuDNN8.0+python3.8.7+Tensorflow2.4.0+Keras,以及各种科学包

    WIN10+RTX 2080Ti深度学习平台搭建 前置声明:博文中有一些图片来自网上截图(因为安装完成后做的记录,有些安装过程图嫌麻烦没有复现),侵删. 可选步骤: 如果之前有python环境,需要卸 ...

最新文章

  1. apiDoc构建源代码注释的接口文档
  2. 设计模式之单例模式浅谈
  3. 帮您管好云:阿里云混合云管理平台发布 | 凌云时刻
  4. 实现winfrom进度条及进度信息提示,winfrom程序假死处理
  5. python导出pdf文件怎么只有一页_python利用PyPDF2拆分pdf文件成单页
  6. 五十条参透世间尘世的话语
  7. 100条超实用微信营销技巧:公众号、朋友圈和微信营销
  8. OpenCV图像各向异性滤波
  9. Linux: 关于 SIGCHLD 的更多细节
  10. 英特尔第十代处理器为什么不支持win7_10代cpu能不能装win7?10代cpu装win7全面分析(支持十代cpu)...
  11. ipa解包打包工具_解压ipa软件包找到urlscheme
  12. 一个非IT人士修改网站的遍历之旅和心路历程
  13. 【图形学】计算机图形学-练习题5
  14. bandgap电路设计与仿真
  15. (三十)AO和GO剖析
  16. 支付宝小程序云服务免费申请
  17. 关于AIOT简易理解.
  18. 基于HDF的LED驱动程序开发(1)
  19. android studio设置Flavor的dimension注意细节问题。
  20. Linphone分析 1_初始化

热门文章

  1. 在Linux下掌握arm和操作系统(1)--stm32和arm
  2. TF-IDF算法:用 Python 提炼财经新闻
  3. pycharm对项目进行重命名后导致项目内文件一系列异常
  4. java 鱼眼照片的矫正_使用OpenCV校准鱼眼镜头
  5. Source Insight免费下载(含秘钥+教程)
  6. 百度云图片识别(ImageRecognition) 针对 各种图片识别的例子
  7. 著名的假设“缸中之脑”,我们怎么确定自己不是活在电脑程序中?
  8. SixTool多功能多合一代挂助手系统源码
  9. 怎么修改IE浏览器下载文件位置
  10. atch: shared pool 优化探索