我正在尋找一個直接在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. Tensorflow seq2seq`feed_previous'參數`
- 6. tensorflow sparse_to_dense函數,output_shape參數
- 7. Keras:用於超參數調整的GridSearchCV
- 8. 調整GC開銷超出的參數
- 9. 數據庫性能比較調諧
- 10. Tensorflow - 如何實現超參數隨機搜索?
- 11. 調諧和如何隧道
- 12. 閃光吉他調諧器
- 13. iOS儀器調諧器
- 14. 自動調諧/ Python/Javascript
- 15. 調諧查詢SELECT COUNT(1)
- 16. 瞭解tensorflow sequence_loss參數
- 17. Tensorflow批處理參數
- 18. Tensorflow服務配料參數
- 19. 使用GridSearchCV GBRT超參數調整
- 20. 超時參數
- 21. 參數超
- 22. iOS上的FFT /吉他調諧器
- 23. 帶紅寶石的吉他調諧器
- 24. TensorFlow:瞭解tf.summary.scalar中的`collections`參數
- 25. 傳遞TensorFlow方法的錯誤參數
- 26. tensorflow-gpu通過pip超時
- 27. Tensorflow不精確超時
- 28. Cloud ML針對CATEGORICAL參數的超參數調整傳遞整數值
- 29. 調用tensorflow
- 30. 使用參數調用泛型函數的實現超時
我是這個DNN的新手。但我用scikit-learn(傳統ML)做了一些參數網格搜索。我的問題是:DNN中的網格搜索需要太多的計算能力,是否實用? –
@scotthuang看看[本文](https://papers.nips.cc/paper/4443-algorithms-for-hyper-parameter-optimization.pdf)。除了描述其他幾種方法之外,其中一個結論是即使進行隨機搜索也可能更有效,因爲通常只有一小部分超參數在模型的性能中起着重要作用。 – jdehesa