TensorFlow,Keras限制GPU顯存


  運行TensorFlow程序會占用過多的顯卡比例,多人共同使用GPU的時候,會造成后面的人無法運行程序。

  一、TensorFlow

  1.預加載比例限制

tf_config = tensorflow.ConfigProto()  
tf_config.gpu_options.per_process_gpu_memory_fraction = 0.5 # 分配50%  
session = tensorflow.Session(config=tf_config)

  2.自適應

tf_config = tensorflow.ConfigProto()  
tf_config.gpu_options.allow_growth = True  
session = tensorflow.Session(config=tf_config) 

二、Keras

  1.當使用Keras的情況下,當import keras時,框架會自動開啟一個默認參數的Session。可以通過下面的代碼主動創建一個使用了ConfigProto的Session,再注入到Keras的后端中去:

from keras.backend.tensorflow_backend import set_session  
config = tf.ConfigProto()  
config.gpu_options.allow_growth = True  
set_session(tf.Session(config=config))  

   注意:第一行必須直接import這個函數,而非keras這個包,而且這句話必須在其他import keras之前,否則keras初始化之后,再替換一個session,原session也不會釋放。

  三、在Python程序中指定cpu

  

import os
os.environ["CUDA_VISIBLE_DEVICES"] = "0"

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM