2017-09-14 93 views
3

Tensorflow默认分配所有GPU内存,但我的新设置实际上只有9588 MiB/11264 MiB。我的预期大约为11.000MiB,就像我的旧设置。Tensorflow没有分配全部GPU内存

Tensorflow信息是在这里:

$ from tensorflow.python.client import device_lib 
$ print(device_lib.list_local_devices()) 

[name: "/cpu:0" 
device_type: "CPU" 
memory_limit: 268435456 
locality { 
} 
incarnation: 9709578925658430097 
, name: "/gpu:0" 
device_type: "GPU" 
memory_limit: 9273834701 
locality { 
    bus_id: 1 
} 
incarnation: 16668416364446126258 
physical_device_desc: "device: 0, name: GeForce GTX 1080 Ti, pci bus id: 0000:03:00.0" 
, name: "/gpu:1" 
device_type: "GPU" 
memory_limit: 9273834701 
locality { 
    bus_id: 1 
} 
incarnation: 2094938711079475130 
physical_device_desc: "device: 1, name: GeForce GTX 1080 Ti, pci bus id: 0000:04:00.0" 
] 

NVIDIA-smi.exe说:

+-----------------------------------------------------------------------------+ 
| NVIDIA-SMI 385.41     Driver Version: 385.41     | 
|-------------------------------+----------------------+----------------------+ 
| GPU Name   TCC/WDDM | Bus-Id  Disp.A | Volatile Uncorr. ECC | 
| Fan Temp Perf Pwr:Usage/Cap|   Memory-Usage | GPU-Util Compute M. | 
|===============================+======================+======================| 
| 0 GeForce GTX 108... WDDM | 00000000:03:00.0 Off |     N/A | 
| 23% 35C P8 13W/250W | 9284MiB/11264MiB |  0%  Default | 
+-------------------------------+----------------------+----------------------+ 
| 1 GeForce GTX 108... WDDM | 00000000:04:00.0 Off |     N/A | 
| 23% 38C P2 55W/250W | 9146MiB/11264MiB |  0%  Default | 
+-------------------------------+----------------------+----------------------+ 

+-----------------------------------------------------------------------------+ 
| Processes:              GPU Memory | 
| GPU  PID Type Process name        Usage  | 
|=============================================================================| 
| 0  1280 C+G ...mmersiveControlPanel\SystemSettings.exe N/A  | 
| 0  1448  C ...ers\Administrator\Anaconda3\pythonw.exe N/A  | 
| 0  1560 C+G Insufficient Permissions     N/A  | 
| 0  4120 C+G ...6)\Google\Chrome\Application\chrome.exe N/A  | 
| 0  4580 C+G C:\Windows\explorer.exe     N/A  | 
| 0  5188 C+G ...t_cw5n1h2txyewy\ShellExperienceHost.exe N/A  | 
| 0  5324 C+G ...dows.Cortana_cw5n1h2txyewy\SearchUI.exe N/A  | 
| 1  1228 C+G Insufficient Permissions     N/A  | 
| 1  1244 C+G Insufficient Permissions     N/A  | 
| 1  1448  C ...ers\Administrator\Anaconda3\pythonw.exe N/A  | 
+-----------------------------------------------------------------------------+ 

我的环境是这样的:

操作系统:Windows10 库:蟒蛇3.6,keras 2.0 .8,tensorflow-gpu 1.3.0,CUDA8.0 CUDNN6.0

有没有人知道原因?

回答

0
import tensorflow as tf 
gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=0.2) 
sess = tf.Session(config=tf.ConfigProto(gpu_options=gpu_options)) 
from keras import backend as K 
import tensorflow as tf 
config = tf.ConfigProto() 
config.gpu_options.per_process_gpu_memory_fraction = 0.2 
session = tf.Session(config=config) 
K.set_session(session) 

这非常适用于我的情况