Tensorflow訓(xùn)練模型默認(rèn)占滿所有GPU的解決方案
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)文章
Python裝飾器的應(yīng)用場(chǎng)景代碼總結(jié)
這篇文章主要介紹了Python裝飾器的應(yīng)用場(chǎng)景,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04Python使用urllib模塊對(duì)URL網(wǎng)址中的中文編碼與解碼實(shí)例詳解
這篇文章主要介紹了Python使用urllib模塊對(duì)URL網(wǎng)址中的中文編碼與解碼(Python使用urllib模塊對(duì)URL編碼與解碼)實(shí)例詳解,需要的朋友可以參考下2020-02-02使用python如何將數(shù)據(jù)集劃分為訓(xùn)練集、驗(yàn)證集和測(cè)試集
這篇文章主要介紹了使用python如何將數(shù)據(jù)集劃分為訓(xùn)練集、驗(yàn)證集和測(cè)試集問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09利用python實(shí)現(xiàn)短信和電話提醒功能的例子
今天小編就為大家分享一篇利用python實(shí)現(xiàn)短信和電話提醒功能的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-08-08解決Opencv+Python cv2.imshow閃退問(wèn)題
這篇文章主要介紹了解決Opencv+Python cv2.imshow閃退問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-04-04Matplotlib可視化之添加讓統(tǒng)計(jì)圖變得簡(jiǎn)單易懂的注釋
今天給大家?guī)?lái)的文章是關(guān)于Python的,文章圍繞著Python Matplotlib可視化展開(kāi),文中非常詳細(xì)的介紹了如何給統(tǒng)計(jì)圖添加注釋,需要的朋友可以參考下2021-06-06python pickle存儲(chǔ)、讀取大數(shù)據(jù)量列表、字典數(shù)據(jù)的方法
pickle模塊實(shí)現(xiàn)了用于序列化和反序列化python對(duì)象結(jié)構(gòu)的二進(jìn)制協(xié)議。這篇文章主要介紹了python pickle存儲(chǔ)、讀取大數(shù)據(jù)量列表、字典的數(shù)據(jù),需要的朋友可以參考下2019-07-07Python中跳臺(tái)階、變態(tài)跳臺(tái)階與矩形覆蓋問(wèn)題的解決方法
這篇文章主要給大家介紹了關(guān)于Python中跳臺(tái)階、變態(tài)跳臺(tái)階與矩形覆蓋問(wèn)題的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-05-05Python?matplotlib實(shí)戰(zhàn)之氣泡圖繪制
氣泡圖是一種多變量的統(tǒng)計(jì)圖表,可以看作是散點(diǎn)圖的變形,這篇文章主要為大家介紹了如何使用Matplotlib繪制氣泡圖,需要的小伙伴可以參考下2023-08-08