#python #docker #tensorflow
#python #докер #tensorflow
Вопрос:
Я следовал инструкциям по настройке Tensorflow с графическим процессором и попробовал предоставленные тесты для Docker с поддержкой NVIDIA и для образа Tensorflow Docker, и все они проходят, но когда я пытаюсь запустить полезный код, он возвращается к CPU. Я получаю следующие сообщения:
2021-01-04 19:49:01.589288: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library libcudart.so.11.0
2021-01-04 19:49:05.077345: I tensorflow/compiler/jit/xla_cpu_device.cc:41] Not creating XLA devices, tf_xla_enable_xla_devices not set
2021-01-04 19:49:05.077467: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library libcuda.so.1
2021-01-04 19:49:05.077477: E tensorflow/stream_executor/cuda/cuda_driver.cc:328] failed call to cuInit: UNKNOWN ERROR (-1)
2021-01-04 19:49:05.077495: I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:163] no NVIDIA GPU device is present: /dev/nvidia0 does not exist
2021-01-04 19:49:05.078801: I tensorflow/compiler/jit/xla_gpu_device.cc:99] Not creating XLA devices, tf_xla_enable_xla_devices not set
2021-01-04 19:49:06.133307: I tensorflow/compiler/mlir/mlir_graph_optimization_pass.cc:116] None of the MLIR optimization passes are enabled (registered 2)
2021-01-04 19:49:06.153276: I tensorflow/core/platform/profile_utils/cpu_utils.cc:112] CPU Frequency: 3493365000 Hz
Обратите внимание, что я получаю «НЕИЗВЕСТНУЮ ОШИБКУ», когда он пытается вызвать cuInit. Что вызывает эту проблему? Программа, которую я пытаюсь запустить, отлично работает на процессоре, но я вложил много денег в графические процессоры, чтобы запускать ее быстрее.
Комментарии:
1. Можете ли вы подробнее рассказать о тестах, которые вы использовали для подтверждения правильности настройки? Что вы получаете при запуске
nvidia-smi
?2. Как вы думаете, почему проблема в изображении, а не в том, как вы его используете? Можете ли вы поделиться тем, что вы сделали до появления сообщения об ошибке?
3. Когда я запускаю тестовую команду из инструкций по ее настройке (docker run —gpus all -it —rm tensorflow / tensorflow:latest-gpu python -c «импортируйте tensorflow как tf; print(tf.reduce_sum(tf.random.normal([1000, 1000])))») Я получаю много сообщений, указывающих на то, что он прошел успешно. Когда я пытаюсь запустить bash в сеансе, используя те же параметры 9except —rm , которые я опустил, потому что мне может понадобиться доступ к контейнеру позже), я получаю то, что скопировал выше.
4. nvidia-smi работает на хосте, но команда не найдена внутри контейнера docker.
5. Кстати, я не уверен, в чем проблема; Я просто спросил, почему я получаю от него такое поведение, а не что с ним не так.