使用FVD时遇到的问题记录:使用tensorflow时batch_size不变的情况下使用数据量更大的dataset发生了显存溢出(OOM)问题 的解决
生活随笔
收集整理的這篇文章主要介紹了
使用FVD时遇到的问题记录:使用tensorflow时batch_size不变的情况下使用数据量更大的dataset发生了显存溢出(OOM)问题 的解决
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
情況:計算 FVD 時,使用 dataset-1 時運行成功,使用數據量(data size)更大的 dataset-2 時運行失敗。報錯OOM:顯存溢出。
查找問題:比較兩次計算時的 input video 的 data shape,發現成功的那個是:[2, 64, 224, 224, 3],失敗的那個是:[2, 180, 224, 224, 3]。
注:shape各dim的含義是:[batch_size, num_frames, height, weight, depth]
發現不對勁:input 的 num_frame 的大小應該相同,都是 16。此處的 64 和 180 是 input vid 在 resize 前的 weight 大小。
找到原因:resize 時的 vid shape 沒有調整好。要求 熱size 的 input shape 是 [bs, t, h, w, c],而我的是 [bs, c, t, h, w]。例如,錯誤輸入:[2, 3, 16, 144, 180] 的 resize 結果為 [2, 180, 224, 224, 3],而不是期待的 [2, 16, 224, 224, 3]。
解決方案:將 resize 前的 vid shape 用 tensor.permuter() 調好后,問題解決。
小結:所以,bs大小可能會造成顯存溢出(OOM),而使用的數據量(data size)大小不會。起碼此處不會。
總結
以上是生活随笔為你收集整理的使用FVD时遇到的问题记录:使用tensorflow时batch_size不变的情况下使用数据量更大的dataset发生了显存溢出(OOM)问题 的解决的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JavaScript打印所有被执行函数堆
- 下一篇: Tomcat 服务器的部署