pytorch 使用Wandb扫描进行超参数调谐以获得自定义参数

yebdmbv4  于 2022-11-23  发布在  其他
关注(0)|答案(1)|浏览(180)

我正在尝试使用Stable-Baseline-3库为网络架构调整超参数。
我的配置文件是:

program: main.py
method: bayes
name: sweep
metric:
  goal: minimize
  name: train/loss
parameters:
  batch_size:
    values: [16, 32, 64, 128, 256, 512, 1024]
  epochs:
    values: [20, 50, 100, 200, 250, 300]
  lr:
    max: 0.1
    min: 0.000001

但如果我尝试添加到参数:

policy_kwargs:
    net_arch:
      pi:
        values: [[ 128, 128 ],[ 256, 256 ],[ 512, 512 ]]
      vf:
        values: [[ 128, 128 ],[ 256, 256 ],[ 512, 512 ]]

出现以下错误:

wandb.errors.CommError: Invalid sweep config: invalid hyperparameter configuration: policy_kwargs

是否可以将wandb sweep与Stable-Baseline-3一起用于网络架构?

mzmfm0qo

mzmfm0qo1#

您正在尝试创建嵌套配置。请参阅此处的文档。
您的配置应为:

program: main.py
method: bayes
name: sweep
metric:
  goal: minimize
  name: train/loss
parameters:
  batch_size:
    values: [16, 32, 64, 128, 256, 512, 1024]
  epochs:
    values: [20, 50, 100, 200, 250, 300]
  lr:
    max: 0.1
    min: 0.000001
  policy_kwargs:
    parameters:
        net_arch:
            parameters:
                pi:
                    values: [[ 128, 128 ],[ 256, 256 ],[ 512, 512 ]]
                vf:
                    values: [[ 128, 128 ],[ 256, 256 ],[ 512, 512 ]]

相关问题