TF 設定GPU模式訓練

2022-06-22 16:15:13 字數 932 閱讀 7860

在終端執行程式時指定gpu

cuda_visible_devices=1 python your_file.py

這樣在跑你的網路之前,告訴程式只能看到1號gpu,其他的gpu它不可見

可用的形式如下:

cuda_visible_devices=1 only device 1 will be seen 

cuda_visible_devices=0,1 devices 0 and 1 will be visible 

cuda_visible_devices=」0,1」 same as above, quotation marks are optional 

cuda_visible_devices=0,2,3 devices 0, 2, 3 will be visible; device 1 is masked

cuda_visible_devices=」」 no gpu will be visible

在python**中指定gpu

import os

os.environ[「cuda_device_order」] = 「pci_bus_id」 

os.environ[「cuda_visible_devices」] = 「0」

設定定量的gpu使用量

config = tf.configproto() 

config.gpu_options.per_process_gpu_memory_fraction = 0.9 # 占用gpu90%的視訊記憶體 

session = tf.session(config=config)

設定最小的gpu使用量

config = tf.configproto() 

config.gpu_options.allow_growth = true 

session = tf.session(config=config)

使用tf 時gpu的設定

使用gpu跑tensorflow程式,預設載入所有的gpu,但計算過程中只會用其中一塊。也就是你看著所有gpu都被占用了,以為是在gpu平行計算,但實際上只有其中一塊在執行 另外的所有顯示卡都閒著,但其視訊記憶體都被占用了,所以別人也用不了。不過這種情況通過在程式之前加三行 就可以解決 import...

訓練過程 GPU訓練

為什麼y2b的8m,8張普通tt為啥要跑幾個月?因為gpu其實有60 的時間都是在等待資料填充完成,簡直蠢。1 換個固態硬碟試試?沒用。問題出在系統匯流排上,一幀的資料量入視訊記憶體後有1.58g 當前最優的分布式訓練方式是通過引數伺服器 parameter server 執行的同步隨機梯度下降演算...

tensorflow設定gpu及gpu視訊記憶體使用

os.environ cuda visible devices 0 使用 gpu 0 os.environ cuda visible devices 0,1 使用 gpu 0,1 一是讓tensorflow在執行過程中動態申請視訊記憶體,需要多少就申請多少 第二種方式就是限制gpu的使用率。conf...