不同版本的顯示卡(GPU) 裝在同一台電腦,進行Tensorflow深度學習模型訓練

Chin-Yi Ji
Dec 12, 2020

--

電腦版本:Windows 10 x64

GPU:

RTX 2080Ti (ASUS ROG)

GTX 1080 Ti (ASUS)

設置:Tensorflow-gpu 2.3.0

兩張不同版本的GPU

前陣子終於跑了一個模型:Unet++,接下來要做各種參數和測試,需要同時跑不只一個模型

因為Unet++模型訓練幾乎吃掉了 RTX 2080Ti 了所有記憶體,再開Tensorflow寫其他東西時GPU記憶體就會不足(後來才發現,Tensorflow在跑模型時,為了避免記憶體不足,Tensorflow會先自動吃滿記憶體,可以透過設定GPU設定記憶體來調整),在不知道該怎辦的時候,博士那邊突然說有一張沒在用的GTX 1080Ti的顯卡可以借我,原本寫了兩個模型讓兩張卡各自跑,還確定了有在跑才回家,結果隔天兩個程式都停在某個Epoch不動,像是時間暫停一樣。

我一開始不知道發生了甚麼事,先看了看工作管理員,怎麼GPU只剩一張,而且還不是原本的RTX 2080Ti,是後來裝的1080Ti。

無腦測了很久找不到原因,後來在裝置管理員中發現,2080Ti上面被打了驚嘆號,顯示:「Windows 已經停止這個裝置,因為它發生了問題。(代碼43)」

不妙!馬上餵狗搜尋解決辦法,一看之下,挖哩,硬體出了問題!我該不會玩壞那張2080Ti了?

我試著按照他的方法更新驅動程式(不知道為什麼不能復原裝置驅動程式),都一直說驅動程式最新不用更新,還是沒有用。

接著我來做實驗,先拔掉1080Ti再開機,看2080Ti是否能復活,結果還是送我一個嘲諷的驚嘆號@@

後來決定解除安裝並重新安裝裝置驅動程式,瞬間(600多MB的驅動程式也是抓了一陣子)正直和善良都回來啦,2080Ti復活!但這樣不夠,網路上有人說他的電腦能插上1080和2080各一張去跑,為什麼就我的不行,秉持著實驗精神,我再把1080Ti插上去,結果果然,又送給我驚嘆號啦!

但我已不是一兩小時無助的北七,我在猜應該是裝上1080Ti後,驅動程式自動抓到的是1080Ti的版本,所以不能驅動2080Ti。

重新解除安裝後再安裝 裝置區驅動程式 之後就成功了!!! 兩張都可以使用了!

終於有多的GPU可以訓練模型啦!

Distributed processing

有了兩張卡,我就想要來測試平行處理看看(之前還是沒有做過平行處理的菜雞),不知道兩張不一樣的卡能不能做到平行處理。

(但其實兩張不同版本的GPU在做平行處理的時候因為計算的速度不一樣沒有太大的優勢,後來只有用在兩張GPU分開做模型訓練,這邊比較偏向實驗性質,記得這兩張的平行處理相較於單張2080Ti,每個Epoch加速大約20秒左右-而已)

首先使用Tensorflow上提供的API: tensorflow.distribute.MirroredStrategy(),試試,果然事情沒有那麼簡單,毫不意外的馬上跳了紅通通的Error,經查發現:tf.distribute.MirroredStrategy default用來做cross device communication的是NCCL,這個NCCL only works on Linux,一遇到Windows 就出問題了!

https://www.tensorflow.org/api_docs/python/tf/distribute/MirroredStrategy

這樣的話tf.distribute.MirroredStrategy就不能用default的

cross_device_ops = tensorflow.distribute.NcclAllReduce() 了,必須用其他的方式。

研究了一下,發現如果是Windows,可以使用tf.distribute.HierarchicalCopyAllReduce()作為替代方式,將分散的部分改成:

strategy = tf.distribute.MirroredStrategy(devices=[“/gpu:0”, “/gpu:1”],cross_device_ops=tf.distribute.HierarchicalCopyAllReduce())

with strategy.scope:

“””裡面包模型結構、model.compile”””

就成功啦!!!

以上是我個人在工作中遇到問題的處理方式和小小心得,我還是AI超菜雞,歡迎一起研究討論。

--

--

Chin-Yi Ji
Chin-Yi Ji

Written by Chin-Yi Ji

New to AI field, climbing filed and alcohol field. A totally foodie, tea and nature lover

No responses yet