我正在尋找一個直接在Tensorflow(不是Keras或Tflearn)中編寫的代碼的超參數調諧包。你能提出一些建議嗎?Tensorflow的超參數調諧
3
A
回答
4
通常,您不需要將超參數優化邏輯與優化模型結合使用(除非您的hyperparemeter優化邏輯針對您正在培訓的模型類型,在這種情況下,您需要告訴我們一點更多)。有幾種可用於該任務的工具和軟件包。 Here是關於這個話題的一篇很好的論文,而here是一個比較實用的博客文章。
- hyperopt實現隨機搜索和parzen估計器優化樹。
- Scikit-Optimize實現了一些其他的,包括高斯過程貝葉斯優化。
- SigOpt爲超參數優化提供了一種方便的服務(儘管爲學生和研究人員提供免費層級和額外津貼)。它基於Yelp的MOE,它是開源的(雖然發佈的版本似乎沒有太多更新),理論上可以單獨使用,儘管它需要一些額外的努力。
- Spearmint也是一個常用的軟件包,也是開源的,但不是免費的商業用途(雖然你可以回落到less restrictive older version)。它看起來很不錯,但不是非常活躍,可用的版本與Python 3不兼容(即使已經提交pull請求來解決這個問題)。
- BayesOpt似乎是貝葉斯優化的黃金標準,但它主要是C++,並且Python界面看起來沒有很多文檔。
出的這些,我只有真正(即,與一個真正的問題)使用hyperopt與TensorFlow,並沒有花太多精力。這個API在某些方面有點奇怪,文檔也不是很徹底,但它確實有效並且似乎處於積極的發展之中,更多的優化算法和適應(例如專門用於神經網絡)可能會出現。但是,正如前面鏈接的博客文章中所建議的那樣,Scikit-Optimize可能同樣好,如果SigOpt適合你,它看起來很容易使用。
3
我想再添加一個庫到@ jdehesa的列表中,我已經在我的研究中應用了它,特別是在tensorflow中。這是hyper-engine,Apache 2.0許可。
它還實現了高斯過程貝葉斯優化和一些其他技術,如學習曲線預測,這節省了大量的時間。
相關問題
- 1. LSTM張量形狀和超參數Tensorflow
- 2. 參數tensorflow
- 3. 調整GAN超參數
- 4. 如何調諧MLPRegressor?
- 5. 調整GC開銷超出的參數
- 6. tensorflow sparse_to_dense函數,output_shape參數
- 7. Tensorflow - 如何實現超參數隨機搜索?
- 8. 調諧和如何隧道
- 9. 調諧查詢SELECT COUNT(1)
- 10. 閃光吉他調諧器
- 11. Tensorflow批處理參數
- 12. Tensorflow服務配料參數
- 13. 瞭解tensorflow sequence_loss參數
- 14. 帶紅寶石的吉他調諧器
- 15. iOS上的FFT /吉他調諧器
- 16. 傳遞TensorFlow方法的錯誤參數
- 17. 調用超類的參數構造函數
- 18. C++調用具有計算參數的超類構造函數
- 19. Tensorflow不精確超時
- 20. 不一致「最佳調」和尖ř包「跨調諧參數重新採樣的結果」
- 21. 導航超參數
- 22. 與 'const的' 參數超載
- 23. 和諧
- 24. 調用tensorflow
- 25. 最後一步! (蟒蛇調諧)
- 26. 雙通道調諧器分配
- 27. 庫(e1071),調諧可變長度不同
- 28. 調諧FFmpeg H.264解碼器
- 29. Mbed吉他調諧器代碼問題?
- 30. 將VLCJ用於DVB-T調諧器
我是這個DNN的新手。但我用scikit-learn(傳統ML)做了一些參數網格搜索。我的問題是:DNN中的網格搜索需要太多的計算能力,是否實用? –
@scotthuang看看[本文](https://papers.nips.cc/paper/4443-algorithms-for-hyper-parameter-optimization.pdf)。除了描述其他幾種方法之外,其中一個結論是即使進行隨機搜索也可能更有效,因爲通常只有一小部分超參數在模型的性能中起着重要作用。 – jdehesa