Estou executando o script cifar10_multi_gpu_train.py
com o log de posicionamento do dispositivo ativado e vejo que todas as operações estão sendo colocadas na CPU. Quando eu executo, ele gera:
Filling queue with 20000 CIFAR images before starting to train. This will take a few minutes.
I tensorflow/core/common_runtime/local_device.cc:25] Local device intra op parallelism threads: 8
I tensorflow/core/common_runtime/direct_session.cc:45] Direct session inter op parallelism threads: 8
Device mapping: no known devices.
I tensorflow/core/common_runtime/direct_session.cc:111] Device mapping:
softmax_linear/biases/ExponentialMovingAverage: /job:localhost/replica:0/task:0/cpu:0
I tensorflow/core/common_runtime/simple_placer.cc:289] softmax_linear/biases/ExponentialMovingAverage: /job:localhost/replica:0/task:0/cpu:0
.....
.....
Eu imagino que a linha Device mapping: no known devices.
deveria listar os dispositivos associados à Sessão atual, mas por que ela não possui nenhum dispositivo? O roteiro chama
tf.device('/gpu:0')
.
Minha GPU é Nvidia GeForce GTX 970.
Resolvido isso.
Devo ter construído acidentalmente o pacote python sem o sinalizador "--config=cuda". Quando eu reconstruí com este sinalizador, pip desinstalou o tensorflow e reinstalou com o pacote recém-construído, funcionou perfeitamente.
O mesmo problema ocorreu quando eu estava executando o script cifar10_multi_gpu_train.py com o log de posicionamento do dispositivo ativado. Não tenho ideia do que você quer dizer quando diz "Devo ter compilado acidentalmente o pacote python sem o sinalizador "--config=cuda"", você pode dizer qual pacote python você reconstruiu?
@GuangmingZhu , na página de download e configuração do TensorFlow , o comando para compilar o pacote pip deve ser:
bazel build -c opt --config=cuda //tensorflow/tools/pip_package:build_pip_package
Acabei de esquecer o --config=cuda
.
Comentários muito úteis
Resolvido isso.
Devo ter construído acidentalmente o pacote python sem o sinalizador "--config=cuda". Quando eu reconstruí com este sinalizador, pip desinstalou o tensorflow e reinstalou com o pacote recém-construído, funcionou perfeitamente.