[英]Python: how to organize the code structure to implement multiple options
我是Python编程的新手。 我为LSTM编写了一个python脚本,用于使用Keras建模序列数据。 总体而言,现在我需要为每次运行手动调整两个选项,即学习率和模型。
我想测试四种不同的学习率(即1e-2、1e-3、1e-4和1e-5)和四种不同的模型(即model1,mode2,model3和model4)。 应当注意,这些模型是由Keras提供的模型,例如LSTM,SimpleRNN或GRU。 我仅使用model1,model2 ...进行说明。
目前,我的代码结构如下:
#pseudo-codes
learningRate = 1e-2 #tunable parameter
model = Sequential()
model.add(model1(hidden_uints)) #other inputs within the model is omitted
#model1 is to be changed to model2, model3 and model4 later
model.complie(optimizer = sgd(lr = learningRate))
model.fit(xtrain,ytrain)
每次训练完成后,我都会调整学习率和model3进行下一次跑步。 我觉得应该有一个更合适的代码结构来一次实现这些选项(4 * 4 = 16运行)。
您可以尝试如下操作:
learningRates = [1e-2, 1e-3, 1e-4, 1e-5]
models = [model1(), model2(), model3(), model4()]
run_opts = [(lrnRate, mdl) for lrnRate in learningRates for mdl in models]
for run_opt in run_opts:
learningRate, model_num = run_opt
model = Sequential()
model.add(model_num)
model.compile(optimizer = sgd(lr = learningRate))
model.fit(xtrain, ytrain)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.