Tensorflow下指定顯示卡占用比例引數配置

2022-08-09 17:33:19 字數 761 閱讀 1940

tensorflow在訓練時預設占用所有gpu的視訊記憶體。

可以通過以下方式解決該問題:

1、在構造tf.session()時候通過傳遞tf.gpuoptions作為可選配置引數的一部分來顯式地指定需要分配的視訊記憶體比例,如下所示:

# 假如有12gb的視訊記憶體並使用其中的4gb:

gpu_options = tf.gpuoptions(per_process_gpu_memory_fraction=0.333)

sess = tf.session(config=tf.configproto(gpu_options=gpu_options))

per_process_gpu_memory_fraction指定了每個gpu程序中使用視訊記憶體的上限,但它只能均勻作用於所有gpu,無法對不同gpu設定不同的上限

2、嘗試如下設定:

config = tf.configproto()

config.gpu_options.allow_growth=true

sess = tf.session(config=config)

當allow_growth設定為true時,分配器將不會指定所有的gpu記憶體,而是根據需求增長

3、指定gpu編號:

import os

os.environ["cuda_visible_devices"] = "0"

或者在指令碼或者命令列中指定

export cuda_visible_devices=0

Tensorflow指定顯示卡GPU執行

有些工作站配備了不止一塊顯示卡,比如4路泰坦。tensorflow會預設使用第0塊gpu,而以tensorflow為backend的keras會預設使用全部gpu資源。有時候有多個人需要跑實驗,如果乙個人占用了全部gpu,其他人就不能跑了。因此需要能夠指定使用特定的gpu。具體地,只需要在主 的開頭...

多顯示卡伺服器指定顯示卡執行tensorflow程式

檢視機器上gpu情況 命令 nvidia smi 功能 顯示機器上gpu的情況 其中左上側有0 1 2 3的編號,表示gpu的編號,在後面指定gpu時需要使用這個編號。方法一 在終端執行程式時指定gpu cuda visible devices 1 python your file.py 這樣在跑你...

tensorflow只訓練指定變數

在用tensorflow訓練神經網路時,有時我們想固定其中一些變數的取值不變,訓練指定scope中的變數,常用的如finetune等。一種最常用的方法是在用optimizer計算梯度時,指定計算梯度的變數列表 待優化的變數列表 示例如下 import tensorflow as tf import ...