简介
先前在使用Pytorch库搭建模型时遇到了部分编程错误,本文将给出各个错误的出错现象以及最终实测有效的解决思路。
开发环境
操作系统:Ubuntu20.04
cuda: 11.3
Pytorch: 1.12.1
具体问题
-
RuntimeError: CUDA error: device-side assert triggered
解决思路:注意检查输入维度,可能是在筛选样本和标签时只筛选了样本,没有筛选对应的标签,导致维度不匹配。 -
File “***/anaconda3/envs/ssda5/lib/python3.8/site-packages/torch/cuda/amp/grad_scaler.py”, line 337, in step
assert len(optimizer_state[“found_inf_per_device”]) > 0, “No inf checks were recorded for this optimizer.”
AssertionError: No inf checks were recorded for this optimizer.
解决思路:注意优化器所选择的模型优化参数可能有误,并没有覆盖全部反向传播的模型参数。 -
Tensorboard在显示图片时每次只能显示数个step的图片,无法保证每个step的图片均被显示。
解决思路:通过搜索“Tensorboard显示完整的step”可以得到解决方案。该问题是由于tensorboard为了避免显存溢出而自行对step采样导致的,如果希望tensorboard采样更多图片,可采用命令:tensorboard --logdir=. --samples_per_plugin=images=xxxx,其中xxxx为希望采样的step数量。