2017-02-24 40 views
5

我目前在TensorFlow中實現深度雙Q學習算法。我有一個基於NumPy數組實現的體驗重播緩衝區。但是,一些性能分析表明,使用feed_dict將NumPy數組中的數據饋送到圖形的效率非常低。這也在文檔https://www.tensorflow.org/performance/performance_guide中指出。爲強化學習算法提供高效數據供給

有沒有人有建議可以更有效地完成餵養?使用靜態數據集可以通過輸入管道(如記錄讀取器)完成饋送。然而,體驗重播緩衝區會隨着時間而改變,使得這種類型的餵食更具挑戰性。

任何答案非常感謝,謝謝!

回答

0

簡短的回答是如果您的數據是最小集並且是唯一的,那麼無法加快它的速度。如果您的數據有一些冗餘或者可以刪除的不需要的裝飾,那麼在將其提供給您的模型之前將其刪除,但是假設您已經完成了該操作,並且每批中的數據都是唯一的,則沒有任何內容(就此而言)你可以做的。

也就是說,有些事情可以改善網絡性能。

  • 你的Q學習算法能夠按照this paper還有待提高,這基本上是說不要做一個學習階段,直到你的網絡的累積誤差超過閾值。
  • 如果您正在重複使用某些訓練集或重放它們,則可以使用加載階段將訓練數據加載到GPU中以便快速回放。