Как исправить ошибку тензорного потока «Ошибка синхронизации с GPU» на NVIDIA Tegra TX2 - PullRequest
0 голосов
/ 04 октября 2019

Я пытаюсь выполнить прогноз построения модели в keras на моем NVIDIA Tegra TX2, используя Tensorflow и Python (2.7), и я довольно случайно запускаю в tenorflow, выдавая мне следующее исключение:

Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 4504 MB memory) -> physical GPU (device: 0, name: NVIDIA Tegra X2, pci bus id: 0000:00:00.0, compute capability: 6.2) 2019-10-04 16:17:50.786531: E tensorflow/stream_executor/cuda/cuda_driver.cc:1032] could not synchronize on CUDA context: CUDA_ERROR_UNKNOWN: unknown error :: *** Begin stack trace *** stream_executor::gpu::GpuDriver::SynchronizeContext(stream_executor::gpu::GpuContext*) stream_executor::StreamExecutor::SynchronizeAllActivity() tensorflow::GPUUtil::SyncAll(tensorflow::Device*) *** End stack trace ***

...

tensorflow.python.framework.errors_impl.InternalError: GPU sync failed

Иногда после нескольких перезагрузок / ожидания проблема решается, и я могу запустить прогноз снова, но 8 из 10 разэта ошибка появляется.

Я уже попробовал следующее:

  • Измените количество запросов и использование памяти следующим образом:
config = tf.ConfigProto()
config.gpu_options.allow_growth = True
config.per_process_gpu_memory_fraction = 0.7
session = tf.Session(config=config, ...)

Я был бы очень рад любым дальнейшим предложениям.

1 Ответ

0 голосов
/ 11 октября 2019

Поскольку эта проблема временная, это может происходить, когда тензор потока не получает необходимую память. Это известная проблема, и вы уже пробовали основные шаги по устранению неполадок. Так как проблема все еще возникает, попробуйте также выполнить следующие шаги:

переустановите libhdf5-dev, python-h5py

sudo apt-get install libhdf5-dev
sudo apt-get install python-h5py

и затем установите gpu allow Рост согласно "https://github.com/keras-team/keras/issues/4161#issuecomment-366031228"

import tensorflow as tf
from keras.backend.tensorflow_backend import set_session
config = tf.ConfigProto()
config.gpu_options.allow_growth = True
sess = tf.Session(config=config)
set_session(sess)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...