2016-08-17 3 views
1

TensorFlow를 처음 사용하고 TensorFlow 웹 사이트의 지침에 따라 CUDA-7.5 및 cudnn-v4를 설치했습니다. TensorFlow 구성 파일을 조정하고 웹 사이트에서 다음 예제를 실행하려고하면 :TensorFlow 여러 GPU에서 사용할 GPU를 선택하십시오.

python -m tensorflow.models.image.mnist.convolutional 

내가 TensorFlow 그러나, 대신 상대방의 GPU를 하나를 사용하고 확실 해요, 내가 사용하도록하고 싶습니다 빠른 것. 이 예제 코드가 발견 된 첫 번째 GPU를 기본값으로 사용하는지 궁금합니다. 그렇다면 파이썬에서 TensorFlow 코드에 사용할 GPU를 어떻게 선택할 수 있습니까? 예제 코드를 실행했을 때 얻을

메시지는 다음과 같습니다

ldt-tesla:~$ python -m tensorflow.models.image.mnist.convolutional 
I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcublas.so locally 
I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcudnn.so locally 
I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcufft.so locally 
I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcuda.so locally 
I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcurand.so locally 
Extracting data/train-images-idx3-ubyte.gz 
Extracting data/train-labels-idx1-ubyte.gz 
Extracting data/t10k-images-idx3-ubyte.gz 
Extracting data/t10k-labels-idx1-ubyte.gz 
I tensorflow/core/common_runtime/gpu/gpu_init.cc:102] Found device 0 with properties: 
name: Tesla K20c 
major: 3 minor: 5 memoryClockRate (GHz) 0.7055 
pciBusID 0000:03:00.0 
Total memory: 4.63GiB 
Free memory: 4.57GiB 
W tensorflow/stream_executor/cuda/cuda_driver.cc:572] creating context when one is currently active; existing: 0x2f27390 
I tensorflow/core/common_runtime/gpu/gpu_init.cc:102] Found device 1 with properties: 
name: Quadro K2200 
major: 5 minor: 0 memoryClockRate (GHz) 1.124 
pciBusID 0000:02:00.0 
Total memory: 3.95GiB 
Free memory: 3.62GiB 
I tensorflow/core/common_runtime/gpu/gpu_init.cc:59] cannot enable peer access from device ordinal 0 to device ordinal 1 
I tensorflow/core/common_runtime/gpu/gpu_init.cc:59] cannot enable peer access from device ordinal 1 to device ordinal 0 
I tensorflow/core/common_runtime/gpu/gpu_init.cc:126] DMA: 0 1 
I tensorflow/core/common_runtime/gpu/gpu_init.cc:136] 0: Y N 
I tensorflow/core/common_runtime/gpu/gpu_init.cc:136] 1: N Y 
I tensorflow/core/common_runtime/gpu/gpu_device.cc:806] Creating TensorFlow device (/gpu:0) -> (device: 0, name: Tesla K20c, pci bus id: 0000:03:00.0) 
I tensorflow/core/common_runtime/gpu/gpu_device.cc:793] Ignoring gpu device (device: 1, name: Quadro K2200, pci bus id: 0000:02:00.0) with Cuda multiprocessor count: 5. The minimum required count is 8. You can adjust this requirement with the env var TF_MIN_GPU_MULTIPROCESSOR_COUNT. 
Initialized! 

답변

6

당신은 masking gpus에이 예제를 인용, 당신이 원하는 경우에만 사람을 노출 CUDA_VISIBLE_DEVICES 환경 변수를 설정할 수 있습니다

CUDA_VISIBLE_DEVICES=1 Only device 1 will be seen 
CUDA_VISIBLE_DEVICES=0,1 Devices 0 and 1 will be visible 
CUDA_VISIBLE_DEVICES=”0,1” Same as above, quotation marks are optional 
CUDA_VISIBLE_DEVICES=0,2,3 Devices 0, 2, 3 will be visible; device 1 is masked 
+0

감사! 그건 일을하고 그 오류를 제거하는 것 같다 :). 또한 "cuda multiprocessor count가있는 gpu 장치를 무시합니다."라는 메시지가 나타납니다. 최소 요구 개수는 8입니다.이 요구 사항을 조정할 수 있습니다 ... ". 당신이 제안한 똑같은 일을하면서, 나는 환경 변수를 사용하여 카운트를 바꿀 수 있지만 이것이 무엇을 의미하는지 모르겠습니다. 카운트/최소 카운트는 무엇을 의미합니까? 고맙습니다! –

+0

다른 옵션 - https://stackoverflow.com/questions/40069883/how-to-set-specific-gpu-in-tensorflow/44848050#44848050 – Nandeesh

관련 문제