1. 程式人生 > >tensorflow-gpu 和cpu使用訓練ssd模型感想(顯示卡記憶體不足解決辦法)

tensorflow-gpu 和cpu使用訓練ssd模型感想(顯示卡記憶體不足解決辦法)

   ssd 模型對於GPU ,CPU來說都適用,但是通過我的訓練de'd得到的一下經驗來說,GPU訓練時基本不到1秒每步,而cpu在使用avx2的基礎上,訓練的每步需要將近1分鐘,可想而知GPU訓練是cpu訓練的60倍左右,這將大大提高大家的訓練速度。

  而且,之前我yong用cpu版本訓練時ssd model訓練1000步需要花7-8個小時,現在用GPU只需要10分鐘就足以,由此可見,對於Tensorflow版本的選擇,還是以GPU為首選比較好,當然,不進行大的專案的運算,對於神經元數量較少,完成tensorflow教程的簡單例子的實現,cpu版本和gpu版本隨便就好。

  如果我的GPU視訊記憶體才2G怎麼辦?

  筆者的GPU為GTX950M視訊記憶體大小為2G,此時對於balancap  ssd    model來說,你在訓練的時候可能會報錯,說你的記憶體不夠,這是由於batch_size  為32,讓你的顯示卡一次裝不下這麼多的東西,那麼減小batch_size的大小直到不報錯為止即可!比如我的batch_size為4,此時GPU可以順利執行!!!

下面上圖:

INFO:tensorflow:global step 700: loss = 75.7585 (0.838 sec/step)
INFO:tensorflow:global step 710: loss = 68.1864 (0.847 sec/step)
INFO:tensorflow:global step 720: loss = 141.8700 (0.833 sec/step)
INFO:tensorflow:global step 730: loss = 70.4635 (0.839 sec/step)
INFO:tensorflow:global step 740: loss = 17.7308 (0.844 sec/step)
INFO:tensorflow:global step 750: loss = 20.5915 (0.852 sec/step)
INFO:tensorflow:global step 760: loss = 270.5725 (0.882 sec/step)
INFO:tensorflow:Recording summary at step 761.
INFO:tensorflow:global step 770: loss = 69.5534 (0.843 sec/step)
INFO:tensorflow:global step 780: loss = 27.5434 (0.820 sec/step)
INFO:tensorflow:global step 790: loss = 78.9974 (0.838 sec/step)
INFO:tensorflow:global step 800: loss = 62.6840 (0.824 sec/step)
INFO:tensorflow:global step 810: loss = 40.8120 (0.820 sec/step)
INFO:tensorflow:global step 820: loss = 38.0882 (0.847 sec/step)
INFO:tensorflow:global step 830: loss = 73.9964 (0.850 sec/step)
INFO:tensorflow:Recording summary at step 831.
INFO:tensorflow:global step 840: loss = 24.8218 (0.856 sec/step)
INFO:tensorflow:global step 850: loss = 101.3560 (0.826 sec/step)
INFO:tensorflow:global step 860: loss = 63.4505 (0.847 sec/step)
INFO:tensorflow:global step 870: loss = 31.3807 (0.844 sec/step)
INFO:tensorflow:global step 880: loss = 20.8094 (0.846 sec/step)
INFO:tensorflow:global step 890: loss = 88.3870 (0.863 sec/step)