在終端執行程式時指定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...