簡體   English   中英

Python:如何組織代碼結構以實現多個選項

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM