TensorFlow2.0-GPU加速
使用GPU進行計算可以加速許多TensorFlow操作,如果沒有任何注釋,TensorFlow會自動決定是使用GPU還是CPU進行操作,操作產生的張量通常由執行操作的設備的存儲器支持。
GPU的地位和CPU等同,都是處理數據單元。不同的是,CPU可以處理復雜邏輯,比如判斷、循環、斷點、保護現場等,處理速度快;而GPU只會簡單的數值計算,很少的邏輯處理單元,計算速度也不如CPU,但是,GPU計算帶寬高,一次能處理的數據量大。可以把CPU比作法拉利,GPU比作大卡車,法拉利雖然跑的快,但最多4座的,大卡車跑的慢,可勝在拉貨論噸。
GPU和CPU都有自己的專屬的存儲器,內存8G屬于CPU,顯存2G屬于GPU。集成顯卡就是在內存中劃分出一塊作為顯存,獨立顯卡則是單獨的一塊存儲區域。DDR4內存的速度是25.6GB/s,而GDDR6顯存的速度最高可達72GB/s。
tensor.device屬性提供托管張量內容的設備的完全限定字符串名稱。此名稱編碼許多詳細信息,例如正在執行此程序的主機的網絡地址的標識符以及該主機中的設備。這是分布式執行TensorFlow程序所必需的。如果張量位于主機上的第N個GPU上,則字符串以GPU:N結尾。
x = tf.random.uniform([3, 3])print(x.device) # /job:localhost/replica:0/task:0/device:GPU:0 print(tf.test.is_gpu_available()) # True print(x.device.endswith('GPU:0')) # True x = tf.random.uniform([3, 3]) print(x.device) # /job:localhost/replica:0/task:0/device:GPU:0 with tf.device('/cpu:0'):x = tf.random.uniform([3, 3])print(x.device) # /job:localhost/replica:0/task:0/device:CPU:0如果發現,tensor不在GPU上運行,此時發生問題的地方有很多,例如TensorFlow-gpu和TensorFlow版本不匹配、GPU設置問題等。總之,挺煩的。
總結
以上是生活随笔為你收集整理的TensorFlow2.0-GPU加速的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 没有他的情人节
- 下一篇: p2v之clonezilla(1)再生龙