欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Tensorflow訓(xùn)練模型默認(rèn)占滿所有GPU的解決方案

 更新時(shí)間:2023年05月10日 09:00:56   作者:石頭兒啊  
這篇文章主要介紹了Tensorflow訓(xùn)練模型默認(rèn)占滿所有GPU的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Tensorflow訓(xùn)練模型默認(rèn)占滿所有GPU問(wèn)題

在使用gpu服務(wù)器訓(xùn)練tensorflow模型時(shí),總是占滿顯存!

TensorFlow默認(rèn)的是占用所有GPU

因此我們需要手動(dòng)設(shè)置使用的GPU編號(hào)以及單個(gè)GPU顯存占用比例

1.第一步需要在代碼中開(kāi)頭加入 

import os
os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID" # 按照PCI_BUS_ID順序從0開(kāi)始排列GPU設(shè)備
os.environ["CUDA_VISIBLE_DEVICES"]=‘0' ?# 使用0號(hào)gpu(想使用其他編號(hào)GPU,對(duì)應(yīng)修改引號(hào)中的內(nèi)容即可)
os.environ["CUDA_VISIBLE_DEVICES"]=‘0,1' # 使用0號(hào)GPU和1號(hào)GPU

2.第二步需要將代碼中的sess = tf.Session()改為

gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=0.333) # 通過(guò)改變0.333可以改變占用顯存比例
sess = tf.Session(config=tf.ConfigProto(gpu_options=gpu_options))

per_process_gpu_memory_fraction=0.333代表的含義就是每個(gè)GPU進(jìn)程中使用顯存的上限為該GPU總量的1/3

3.如果想要在程序運(yùn)行過(guò)程中連續(xù)查看GPU信息

可以在終端使用該 指令(執(zhí)行指令:watch -n 3 -d nvidia-smi # 每隔三秒輸出一次)(前提是設(shè)備中有合適的NVIDIA驅(qū)動(dòng))

解決tensorflow2.2把GPU顯存占滿

安裝了tensorflow-gpu后,運(yùn)行程序默認(rèn)是把GPU的內(nèi)存全部占滿的,有時(shí)我們不想全部占滿,可以這樣操作。

解決代碼

import tensorflow as tf 
import os
os.environ['CUDA_VISIBLE_DEVICES']="0" # 指定哪塊GPU訓(xùn)練
config=tf.compat.v1.ConfigProto() 
# 設(shè)置最大占有GPU不超過(guò)顯存的80%(可選)
# config.gpu_options.per_process_gpu_memory_fraction=0.8
config.gpu_options.allow_growth = True  # 設(shè)置動(dòng)態(tài)分配GPU內(nèi)存
sess=tf.compat.v1.Session(config=config)

如圖:

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論