2017-05-05 3 views
3

나는 케라 1.1.0을 Theano 백엔드와 함께 사용하고 있습니다. keras를 가져 오기 전에Keras 및 GPU 사용

os.environ['THEANO_FLAGS'] = "device=gpu0" 

: GPU를 사용하기 위해 나는 같은 os.envorn을 설정합니다. keras를 가져 오면 다음 메시지가 나타납니다.

Using gpu device 0: TITAN X (Pascal) (CNMeM is disabled, cuDNN 5105) 
/home/library_python/lib/python/Theano-0.8.2-py2.7.egg/theano/sandbox/cuda/__init__.py:600: UserWarning: Your cuDNN version is more recent than the one Theano officially supports. If you see any problems, try updating Theano or downgrading cuDNN to version 5. 
    warnings.warn(warn) 

그래서 장치를 올바르게 설정하고 있다고 생각했습니다.

Fri May 5 13:05:33 2017 
+-----------------------------------------------------------------------------+ 
| NVIDIA-SMI 375.51     Driver Version: 375.51     | 
|-------------------------------+----------------------+----------------------+ 
| GPU Name  Persistence-M| Bus-Id  Disp.A | Volatile Uncorr. ECC | 
| Fan Temp Perf Pwr:Usage/Cap|   Memory-Usage | GPU-Util Compute M. | 
|===============================+======================+======================| 
| 0 GeForce GT 730  On | 0000:01:00.0  N/A |     N/A | 
| 30% 38C P8 N/A/N/A |  56MiB/ 980MiB |  N/A  Default | 
+-------------------------------+----------------------+----------------------+ 
| 1 TITAN X (Pascal) On | 0000:02:00.0  Off |     N/A | 
| 36% 63C P2 87W/250W | 373MiB/12189MiB |  35%  Default | 
+-------------------------------+----------------------+----------------------+ 
| 2 TITAN X (Pascal) On | 0000:03:00.0  Off |     N/A | 
| 23% 42C P8 18W/250W |  3MiB/12189MiB |  0%  Default | 
+-------------------------------+----------------------+----------------------+ 

+-----------------------------------------------------------------------------+ 
| Processes:              GPU Memory | 
| GPU  PID Type Process name        Usage  | 
|=============================================================================| 
| 0     Not Supported           | 
| 1  1520 C /usr/bin/python        155MiB | 
| 1  14996 C python           215MiB | 
+-----------------------------------------------------------------------------+ 

그것은 내가 유일한 GPU 메모리의 2백15메가바이트을 사용하고 말한다 : 나는 keras와 모델을 학습 그러나, NVIDIA-SMI는 다음과 같은 메시지를 보여줍니다. 나는 10GB의 사용량을 더 기대하고 있었다. 내가 뭘 잘못하고 있는지 말해 줄 수 있니? GPU 장치에 대한 내 설정이 맞습니까? 예상대로 지금은 11.7G 메모리를 사용하고

os.environ['THEANO_FLAGS'] = "device=gpu0,floatX=float32,lib.cnmem=1" 

:

답변

0

문제로 Theano_flag을 변경 한 후 해결됩니다.

+-----------------------------------------------------------------------------+ 
| NVIDIA-SMI 375.51     Driver Version: 375.51     | 
|-------------------------------+----------------------+----------------------+ 
| GPU Name  Persistence-M| Bus-Id  Disp.A | Volatile Uncorr. ECC | 
| Fan Temp Perf Pwr:Usage/Cap|   Memory-Usage | GPU-Util Compute M. | 
|===============================+======================+======================| 
| 0 GeForce GT 730  On | 0000:01:00.0  N/A |     N/A | 
| 30% 38C P8 N/A/N/A |  56MiB/ 980MiB |  N/A  Default | 
+-------------------------------+----------------------+----------------------+ 
| 1 TITAN X (Pascal) On | 0000:02:00.0  Off |     N/A | 
| 28% 47C P2 78W/250W | 11923MiB/12189MiB |  0%  Default | 
+-------------------------------+----------------------+----------------------+ 
| 2 TITAN X (Pascal) On | 0000:03:00.0  Off |     N/A | 
| 23% 42C P8 18W/250W |  3MiB/12189MiB |  0%  Default | 
+-------------------------------+----------------------+----------------------+ 

+-----------------------------------------------------------------------------+ 
| Processes:              GPU Memory | 
| GPU  PID Type Process name        Usage  | 
|=============================================================================| 
| 0     Not Supported           | 
| 1  1520 C /usr/bin/python        155MiB | 
| 1  15543 C python          11765MiB | 
+-----------------------------------------------------------------------------+ 
+0

cnmem을 '0.95'로 잘라내는 것이 좋습니다. –

+0

실제로, cnmem = 1이 정확히 무엇인지 물어볼 수 있습니까? – ThePrincess

+1

기본적으로 GPU 메모리를 미리 할당합니다. 그것은 [관찰 된] (https://datascience.stackexchange.com/questions/13381/how-does-the-cnmem-library-work-and-which-types-of-thea-models-does-it-speed) 'cnmem'을 설정하면 속도가 향상됩니다. 그러나 GPU의 모든 메모리를 차단하고 싶지 않으므로 '0.95'로 잘라내는 것이 관례입니다. –