TensorFlow中tf.ConfigProto()配置Sesion運算方式


博主個人網站:https://chenzhen.online

tf.configProto用於在創建Session的時候配置Session的運算方式,即使用GPU運算或CPU運算;

1. tf.ConfigProto()中的基本參數:

session_config = tf.ConfigProto(
    log_device_placement=True,
	allow_soft_placement=True,
	inter_op_parallelism_threads=0,
	intra_op_parallelism_threads=0)

sess = tf.Session(config=session_config)
參數 用法
log_device_placement=True 設置為True時,會打印出TensoFlow使用了哪種操作;
allow_soft_placement=True 當運行設備不滿足要求時,會自動分配GPU或CPU;
inter_op_parallelism_threads=0 一個操作內部並行運算的線程數;
intra_op_parallelism_threads=0 多個操作並行運算的線程數;

2. tf.ConfigProto配置GPU

2.1 判斷TensorFlow是否能夠使用GPU運算

result = tf.test.is_built_with_cuda()
print(result)

2.2 兩種方式配置使用具體哪塊GPU

# 方式一:在python程序中設置
os.environ['CUDA_VISIBLE_DEVICES'] = '0'
os.environ['CUDA_VISIBLE_DEVICES'] = '0, 1'


# 方式二:在執行.py文件時,指定具體GPU塊
CUDA_VISIBLE_DEVICES=0,1 python test.py

2.3 動態申請GPU顯存

session_config = tf.ConfigProto()  # 配置見第1節
session_config.gpu_options.allow_growth = True  # 動態申請
sess = tf.Session(config=session_config)

2.4 限制GPU的使用率

session_configsession_config = tf.ConfigProto()  # 配置見第1節
session_config.gpu_options.per_process_gpu_memory_fraction = 0.4  # 占用40%顯存
session = tf.Session(config=session_config)

Reference


免責聲明!

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



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