深度学习调参-自动化运行多组超参数

2020-02-22  本文已影响0人  洗洗睡吧i

1. 创建一个神经网络模型

比如用cnn在mnist数据集上训练,关于网络的代码这里不写了。。。

在程序开头加入超参数的定义:建议至少包括参数名称、类型、和初始值。

#########################
# filename: mnist_cnn.py
#########################

import argparse

# -------parser paras--------------------
parser = argparse.ArgumentParser(description='Trains a simple CNN on MNIST dataset')
parser.add_argument('--layer_n', type=int, default=1)
parser.add_argument('--activition', type=str, default='tanh')
parser.add_argument('--seed', type=int, default=11)

args = parser.parse_args()
print(args.__dict__)

seed = args.seed
layer_n = args.layer_n
activition = args.activition

# --- model & train ----
#########################

2. 再创建一个脚本文件,用来执行mnist_cnn.py。

#########################
# filename: run_all.py
#########################

import subprocess

cmds = ['python mnist_cnn.py --layer_n=1 --activition=tanh --seed=11',
        'python mnist_cnn.py --layer_n=1 --activition=tanh --seed=17',
        'python mnist_cnn.py --layer_n=1 --activition=tanh --seed=19']

for cmd in cmds:
    p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE)
    print(p.stdout.read().decode('utf8'))

上一篇 下一篇

猜你喜欢

热点阅读