Cyrus Blog

FLAG{S0_H4PPY_C_U_H3R3} (>.<)

Ubuntu 搭炼丹炉

本文共 1.2k 字,预计阅读时间 4 分钟。

基本环境

因为某些原因要改个模型,所以在家里 2070S 的机器上配了这个环境。系统选的是经典 Ubuntu 18.04.6 LTS。

不自带显卡驱动警告

进系统循环登陆,果断判定显卡挂了,毕竟刚装完 GNOME 不会挂吧。Ctrl-Alt-F1 在首次登陆是无效的,直接 recovery,记得先开 network。

驱动按几下 tab 装最新的就好,既然后面要配 AI 环境肯定不看 ubuntu-drivers devices 的推荐了(x

1
2
3
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-get install nvidia-driver-495

重启进系统,我也不知道为什么勾了完整安装还是没有显卡驱动。

基本配置

  • 顶部没有时间显示:gsettings set org.gnome.desktop.interface clock-show-date true

  • 这次装的中文系统,结果用户文件夹里是中文???

    1
    2
    3
    4
    5
    export LANG=en_US
    xdg-user-dirs-gtk-update
    # 勾选修改用户文件夹名称
    export LANG=zh_CN
    # 重启,勾选不修改用户文件夹名称、永不提示

网络环境

推荐一个 electron-ssr,愿意搞复杂的随意,这边只做跑模型查资料时基本境外下载 & 终端代理用,软件也支持各种 URL 订阅、PAC 这些。不会有人日常用 Linux 吧不会吧不会吧?

在 iPhone 上下载了通过 网页版飞书 临时传过来了。希望每一个公司用飞书的社畜都能知道这个工具,临时在某台个人电脑上用一下十分好用,但谁能想到周末上飞书竟然是为了传代理。

博客不敢提供下载连接 ,不然又被越南网警橄榄。

软件

  • Chrome 用自带的 Firefox 下载(逃),右键加入 Dock,似乎这样 Launchpad 也会出现。
  • Telegram 推荐从 App Store 下载,官网版本很难放到 Dock 和 Launchpad 里。
  • PyCharm 官网安装,从 Tools -> Create Desktop Entry... 放进 Launchpad 和 Dock。
  • 网易云官网下 deb 包,推荐 gdebi 安装。
  • Typora 官网给了 ppa 源安装方案。

炼丹环境

严格按照以下顺序检查和安装一般没错。

  • 不需要各种新功能所以按已有版本要求安装了,不求最新但求 work。
  • 不用 conda,除了专业炼丹的之外,不会有工程师用 conda 而不用 pip 吧。
  • 手动走安装过程避免,便于检查。

NVIDIA 驱动

这里其实是装好了。推荐走 apt 安装,官网版本安装各种依赖有问题。

尽可能装高版本的,目前没有见过显卡驱动版本过高导致的 bug。当然后面别的软件要锁版本安装。

再贴一遍:

1
2
3
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-get install nvidia-driver-495

通过 nvidia-smi 确认安装成功。

检查版本

Torch 看支持到什么版本的 CUDA。截至当日最高支持 11.3。

CUDA

首先不要 apt 装 nvidia-cuda-toolkit,这一步要严格按 Torch 需要的版本装。

CUDA 下载页面大概率版本过高,去 CUDA Toolkit Archive 找。选了 11.3。

CUDA 不知道为什么有驱动而且装不动,所以建议前面装好驱动,第一步不管直接 continue,选择安装内容时去掉驱动。

  • CUDA 安装包第三段是他自带的显卡驱动版本,已安装的大于等于这个大版本号就可以。如果前面按照我说的装了最高版本的驱动,这个一般不用检查。
  • 注意 sudo 安装。

装完后去 ~/.bashrc 加一下 PATH:

1
2
3
export PATH="/usr/local/cuda-11.3/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda-11.3/lib64:$LD_LIBRARY_PATH"
export LIBRARY_PATH="/usr/local/cuda-11.3/lib64:$LIBRARY_PATH"

source 后通过 nvcc -V 确认安装成功。

cuDNN

同样,cuDNN 是和最新 CUDA 同步的,大概率版本过高,去 cuDNN Archive 找。CUDA 11.3 对应 cuDNN 8.2.1,下载 18.04 三个 deb 包,直接 dpkg 按列表里的顺序安装。

通过以下方式确认安装成功。

1
2
3
4
cp -R /usr/src/cudnn_samples_v8/ .
cd cudnn_samples_v8/mnistCUDNN/
make
./mnistCUDNN

Torch

不会有人要 tf 吧?

回到 Torch,选择对应版本,pip 方式安装,下面会给出怎么选包的版本。我这是:

1
pip3 install torch==1.10.0+cu113 torchvision==0.11.1+cu113 torchaudio==0.10.0+cu113 -f https://download.pytorch.org/whl/cu113/torch_stable.html

不会有人用 Python2 吧?

torch 没有被魔法攻击,但后面有一个下载很慢,建议挂代理下。

通过以下方式确认安装成功:

1
2
3
4
5
6
$ python3
>>> import torch
>>> torch.cuda.is_available()
True
>>> torch.cuda.get_device_name(0)
'NVIDIA GeForce RTX 2070 SUPER'

安装工程依赖

安装工程所需要的 requirements。

但你们炼丹师怎么 requirements 都能写糊啊?

顺便还随手瞎写 validation set 切分,看似都用 shutil 了实则文件都复制不全,还不 handle directory not exists,GitHub 全是叫骂的 issue。炼丹师就骗炼丹师,都别给我复现。