0%

神经网络训练

查看显卡情况

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
nvidia-smi
#查看有多少空余
(base) jixinlong@ubun:~/Illumination-Estimation-1/SHLight$ nvidia-smi --query-gpu=memory.free --format=csv,noheader,nounits
373
428
2863
1505
3023
618
1557
4449
1606
15217

循环查看
watch -n 0.5 nvidia-smi
nvidias-smi -l 1

gpustat
安装方式:pip install gpustat

查看cpu使用情况:

1
2
top
htop #比top更直观

batch设定

batch表示一次性投喂给网络的数据量。batch大有利于更快得训练,利用GPU的能力。batch小有利于更精确地收缩。

通过观测训练时的CPU和显卡使用情况,我发现CPU已经跑满了,显卡的GPU和显存的利用率都很低。这种情况下是cpu的限制了整个训练的速度,导致显卡经常无事可做。我关闭了不需要的浏览器界面之后发现CPU利用率仍然是满的,但是显卡利用率变高了。所以训练的时候要根据硬件的情况分配好CPU和显卡的任务,充分利用资源。

colab

在谷歌colab上使用免费GPU:直接使用已有FaceColab.ipynb即可。上传自己的faceswap文件夹整体,然后利用FaceColab.ipynb的依赖安装、代码执行工具来训练。

在训练到感觉loss一直降低不下去、图片总是不清晰的时候,按照软件本身的提示
Screenshot from 2022-03-15 18-57-26

FaceColab.ipynb中的提示:
Screenshot from 2022-03-15 19-07-08

还有论坛上的经验分享faceswap,尝试勾选disabling warp选项,让模型学到更多的面部细节。

colab的免费使用

  1. colab的jupyter充当命令行,分段式执行任务非常舒服。文件和数据都存在谷歌云硬盘里。前者可以点击“挂载Google云端硬盘”连接后者,也可以直接在后者中创建好文件直接用colab应用打开。
  2. 进入colab后 修改-笔记本设置 勾选GPU,然后 !nvidia-smi 可以知道分到了多少显卡资源。
  3. !引导的指令相当于在终端中输入指令。左边可以打开文件系统查看。初始路径默认在\content下。酷似用来机器学习的云计算中心。主要需要准确了解要安装的依赖有哪些。
  4. 不能连续使用12h。期间据说也容易断,写个脚本维护和colab的连接状态。
  5. 如果离开浏览器时间很长任务就会被切断。
    可以参照范例: