先上模板
模板
0.执行命令
1.训练参数
(不同地方 注释清楚)
2.训练结果
3.出现的问题
4.测试的参数
5.测试结果
6.出现的问题和需要改进的点
因为要训练的次数太多,所以简单做了一个markdown来记录平时的数据,知道每次修改了什,对应效果是什么,存在哪些问题, 下次怎么样修改等等。
下面是我开始学习时候的一次实例,有大神的话也帮助看一下是什么问题。
我的简单训练记录实例
2024-10-31-13-12-39
0.执行命令
nohup python train.py --epoch 100 --batch-size 48> out.log &
1.训练参数
(不同地方 注释清楚)
name: LiTS_Unet_lym
arch: Unet
dataset: LiTS==(去掉了10%病人做测试集)==
input_channels: 3
image_ext: npy
mask_ext: npy
aug: False
loss: BCEDiceLoss
epochs: 100(实际跑了81epoch)
early_stop: 30
batch_size: 48
optimizer: Adam(自适应矩估计)
lr: 0.0003
momentum: 0.9
weight_decay: 0.0001
nesterov: False
deepsupervision: False
2.训练结果
log记录:
可视化训练数据tensorboard
3.出现的问题
和上次出现差不多问题 这次出现在接近40 Epoch 左右 验证集DICE参数会骤降为近0,loss 也会下降一截,而且逐渐震荡
怀疑是优化器的问题,可以把学习率搞出来看看
4.测试的参数
对epoch39-0.9762-0.9133_model.pth 模型进行测试
保存模型是看loss的 loss 甚至可以训练到0.15左右 (200轮)
参数与训练一致
5.测试结果
IoU: 0.8757 Dice_1: 0.9275 Dice_2: 0.2297 (训练集上表现很好(验证集都0.9了),但在测试集上却表现很差)
是不是过拟合 看训练误差和验证误差 如果是过拟合应该是训练loss 下降 验证loss 上升
6.出现的问题和需要改进的点
肝脏蛮好 肿瘤不好
怀疑是优化器的问题,换一个优化器,可以把学习率搞出来看看