1
有什麼有效的方法我可以優化該神經網絡..具有多個輸入的網絡的超參數優化?
map = {}
for batch in xrange(1,100,1):
for lr in np.arange(0.00001,1,0.0000001):
for decay in np.arange(0.0000001,1,0.0000001):
for momentum in np.arange(0.001,1,0.01):
print 'batch_' + str(batch) + '_lr_' + str(lr) + '_decay_' + str(decay) + '_momentum_' + str(momentum)
result = model(batch,lr,decay,momentum)
print result
map['batch_' + str(batch) + '_lr_' + str(lr) + '_decay_' + str(decay) + '_momentum_' + str(momentum)] = result
np.save('sgd_opt.npy', map)
目前,正在使用多個for循環做 - 不是沒有這樣做的任何其它的有效方法?
如果您關心速度,那麼肯定會有所作爲的一件事是,您無需測試900萬種不同的學習速率。採取更大的步驟。 –
@aryamccarthy的建議? lr通過ti sgd優化器。 –
這是我的建議:你一起測試10^7的學習率,10^7衰減和10^2動量。這太多了。您正在評估10^16個不同的模型。讓我們慷慨*說你的模型只需要0.3秒來訓練和測試。然後它將花費150萬年**來測試所有組合。測試更少的組合,可能使用'np.logspace'。 –