推 lycantrope: 預測跟訓練只差在backpropagation,不太懂你的目的09/22 13:54
目的要縮減整個程式跑的時間
因為我default是用gpu在訓練
訓練上gpu訓練會比使用cpu快很多
但model訓練完之後做 predict
predict時cpu速度會比較快
(雖然一次只差幾毫秒,玩一場遊戲下來會有幾百幾千步,每次都會用到predict, 兩者
的差異會很明顯)
所以我想要在使用gpu與cpu在loop中切換
→ chang1248w: 什麼情況用gpu跑會沒有效率?09/22 13:55
推 lycantrope: 應該沒有情況是gpu跑DL輸cpu09/22 13:57
我測試單純predict cpu會贏也
大概是gpu啟動需要時間吧!?
雖然只是幾毫秒
但是幾千步下來就差好幾十秒
→ chang1248w: 你要在cpu上做預測那就必須把上個epoch更新完的參數09/22 13:58
→ chang1248w: 備份到cpu上面跑,我不認為這會比傳結果快多少09/22 13:58
我有用model_colon是真的更慢沒錯==
→ chang1248w: 你的寫法也不像平行處理09/22 14:00
※ 編輯: snakei14702 (211.23.79.225 臺灣), 09/22/2022 14:07:46
※ 編輯: snakei14702 (211.23.79.225 臺灣), 09/22/2022 14:11:10
→ chang1248w: predict有batch_size參數可以傳09/22 14:13
→ chang1248w: 然後你的模型如果是pure tf implement 的話,可以試09/22 14:17
→ chang1248w: 試xla,一般會有2-10倍的提速09/22 14:17
謝謝馬上來研究
→ chang1248w: autoclustering_xla09/22 14:17
→ chang1248w: 是說為啥predict 的時候要傳入y?09/22 14:19
抱歉打錯@@
※ 編輯: snakei14702 (211.23.79.225 臺灣), 09/22/2022 14:29:39
→ lycantrope: 你一定是測錯 不太可能模型深gpu還比cpu慢... 09/22 14:50
→ chang1248w: 也不是沒有可能,.predict 的實現其實沒有很高效,常 09/22 18:30
→ chang1248w: 常會卡記憶體io,尤其預設的batch_size小的要死,這 09/22 18:30
→ chang1248w: 坑過我 09/22 18:30
→ chang1248w: 不過我也沒有驗證過就是 09/22 18:31
→ chang1248w: 長見識 09/23 20:32