Closed OvO616 closed 1 year ago
这应该是transformer里比较常见的问题,可以使用以下几个方案:
可以看一看我新更新的训练小模型的脚本,使用了如上的一些策略~
这应该是transformer里比较常见的问题,可以使用以下几个方案:
- 关闭混合精度训练,最有效的方式;
- 降低学习率,增长wrmup epoch;
- 使用更弱的数据增强;
可以看一看我新更新的训练小模型的脚本,使用了如上的一些策略~
好的 谢谢您 目前已经按照您更新的HMDB51上做了相应的更改 目前跑到20epoch没有出现loss为Nan的情况
这应该是transformer里比较常见的问题,可以使用以下几个方案:
- 关闭混合精度训练,最有效的方式;
- 降低学习率,增长wrmup epoch;
- 使用更弱的数据增强;
可以看一看我新更新的训练小模型的脚本,使用了如上的一些策略~
您好 我按照您HMDB51的config进行了相应参数的更改,我在diving48上训练了100epoch后 loss一直在2左右不降了 最终准确率是72.4%,这个最终准确率是有效的么?我的参数设置如下,大佬有没有什么好的意见关于参数修改 TRAIN: ENABLE: True DATASET: sth BATCH_SIZE: 16 EVAL_PERIOD: 10 CHECKPOINT_PERIOD: 10 AUTO_RESUME: True DATA: NUM_FRAMES: 16 SAMPLING_RATE: 4 RANDOM_FLIP: False TRAIN_JITTER_SCALES: [256, 320] TRAIN_CROP_SIZE: 224 TEST_CROP_SIZE: 256 INPUT_CHANNEL_NUM: [3]
TRAIN_JITTER_SCALES_RELATIVE: [0.08, 1.0] TRAIN_JITTER_ASPECT_RELATIVE: [0.75, 1.3333] UNIFORMER: EMBED_DIM: [64, 128, 320, 512] DEPTH: [3, 4, 8, 3] HEAD_DIM: 64 MLP_RATIO: 4 DROPOUT_RATE: 0 ATTENTION_DROPOUT_RATE: 0 DROP_DEPTH_RATE: 0.2 SPLIT: False PRETRAIN_NAME: 'uniformer' AUG: NUM_SAMPLE: 2 ENABLE: True COLOR_JITTER: 0.4 AA_TYPE: rand-m5-n2-mstd0.25 INTERPOLATION: bicubic RE_PROB: 0.25 RE_MODE: pixel RE_COUNT: 1 RE_SPLIT: False MIXUP: ENABLE: True ALPHA: 0.8 CUTMIX_ALPHA: 1.0 PROB: 1.0 SWITCH_PROB: 0.5 LABEL_SMOOTH_VALUE: 0.1 BN: USE_PRECISE_STATS: False NUM_BATCHES_PRECISE: 200 SOLVER: ZERO_WD_1D_PARAM: True BASE_LR_SCALE_NUM_SHARDS: True BASE_LR: 0.0001 COSINE_AFTER_WARMUP: True COSINE_END_LR: 1e-6 WARMUP_START_LR: 1e-6 WARMUP_EPOCHS: 30.0 LR_POLICY: cosine MAX_EPOCH: 200 MOMENTUM: 0.9 WEIGHT_DECAY: 0.05 OPTIMIZING_METHOD: adamw COSINE_AFTER_WARMUP: True MODEL: NUM_CLASSES: 48 ARCH: uniformer MODEL_NAME: Uniformer LOSS_FUNC: soft_cross_entropy DROPOUT_RATE: 0.5 TEST: ENABLE: True DATASET: sth BATCH_SIZE: 32 NUM_SPATIAL_CROPS: 1 DATA_LOADER: NUM_WORKERS: 8 PIN_MEMORY: True TENSORBOARD: ENABLE: True NUM_GPUS: 1 NUM_SHARDS: 1 RNG_SEED: 0 OUTPUT_DIR: .
可以适当用少一些epoch,优先调整学习率
兄弟你好,最近用你的代码在diving48数据集上跑,为什么这个代码到第6个epoch的时候的loss总会变成Nan啊,大佬能不能回答下