模型调参——让模型一次跑多个参数的结果

1、引言

跑深度学习代码的时候,需要调多个参数来得到最好的效果。比如:模型可能需要调节 学习率,epoch,batch等超参数。

我们可能会有一下调参需求

  • 依次调节不同参数如:epoch=35,batch=32
  • 调节同一个参数如:epoch=35,epoch=40,epoch=45,epoch=50

通俗的说,之前是我们调节一个参数值后,让模型跑一次得到实验结果。再调节参数,让模型再跑一次。现如今,我们不想一个参数一个参数的调,费事,我们想让模型只跑一次,得到多个调参的实验结果

2、前提:将训练的结果都写入日志中

可以参考 python将日志写入文件(超详细)
因为每个参数值会得到一个实验结果,多个参数值就有多个参数结果,写入到日志后,等跑完实验后,就可以查看日志文件,进而得到多参数的实验结果。

3、实战:调节参数epoch,代码只运行一次,得到参数epoch分别为35,40,45,50,55的模型结果

原始.sh 文件,运行使用bash run_twitter15.sh
在这里插入图片描述
修改为run15.sh文件,满足让模型跑一次得到 参数epoch分别为35,40,45,50,55的结果。
在这里插入图片描述
然后等模型训练完,查看日志文件,即可看到epoch分别为35,40,45,50,55的模型结果。

4、实战:依次调节epoch,batch参数,代码只运行一次,得到epoch分别为35,40,45,50,55,batch分别为8 16 32 64的结果

  • 想调节几个参数,就写几个for循环

run15.sh文件

#!/usr/bin/env bash
DATASET_NAME="twitter15"
BERT_NAME="bert-base"

# First loop for different epochs
for EPOCHS in 35 40 45 50 55
do
    CUDA_VISIBLE_DEVICES=0 python -u run.py \
        --dataset_name=${DATASET_NAME} \
        --bert_name=${BERT_NAME} \
        --num_epochs=${EPOCHS} \
        --batch_size=32 \
        --lr=3e-5 \
        --warmup_ratio=0.01 \
        --eval_begin_epoch=3 \
        --seed=1234 \
        --do_train \
        --ignore_idx=0 \
        --max_seq=128 \
        --use_prompt \
        --prompt_len=4 \
        --sample_ratio=1.0 \
        --save_path=best_model_twitter15
done

# Second loop for different batch sizes
EPOCHS=30  # 固定的epoch数
for BATCH_SIZE in 8 16 32 64
do
    CUDA_VISIBLE_DEVICES=0 python -u run.py \
        --dataset_name=${DATASET_NAME} \
        --bert_name=${BERT_NAME} \
        --num_epochs=${EPOCHS} \
        --batch_size=${BATCH_SIZE} \
        --lr=3e-5 \
        --warmup_ratio=0.01 \
        --eval_begin_epoch=21 \
        --seed=1234 \
        --do_train \
        --ignore_idx=0 \
        --max_seq=128 \
        --use_prompt \
        --prompt_len=4 \
        --sample_ratio=1.0 \
        --save_path=best_model_twitter17
done

等代码跑完,查看日志文件,即可得到不同调参的实验结果。

  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值