Я запускаю сценарий cifar10_multi_gpu_train.py
с включенным ведением журнала размещения устройств и вижу, что все операции выполняются на ЦП. Когда я запускаю его, он выводит:
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
.....
.....
Я бы предположил, что строка Device mapping: no known devices.
должна содержать список устройств, связанных с текущим сеансом, но почему в ней нет никаких устройств? Скрипт вызывает
tf.device('/gpu:0')
.
Мой графический процессор — Nvidia GeForce GTX 970.
Решил это.
Должно быть, я случайно собрал пакет python без флага «--config=cuda». Когда я пересобрал с этим флагом, а затем pip удалил tensorflow, а затем переустановил с помощью только что созданного пакета, он работал отлично.
Та же проблема возникла, когда я запускал скрипт cifar10_multi_gpu_train.py с включенным ведением журнала размещения устройств. Я понятия не имею, что вы имеете в виду, когда говорите: «Должно быть, я случайно собрал пакет Python без флага «--config=cuda»». Можете ли вы сказать, какой пакет Python вы перестроили?
@GuangmingZhu , на странице загрузки и настройки TensorFlow команда для сборки пакета pip должна быть:
bazel build -c opt --config=cuda //tensorflow/tools/pip_package:build_pip_package
Я просто забыл --config=cuda
.
Самый полезный комментарий
Решил это.
Должно быть, я случайно собрал пакет python без флага «--config=cuda». Когда я пересобрал с этим флагом, а затем pip удалил tensorflow, а затем переустановил с помощью только что созданного пакета, он работал отлично.