Tensorflow-gpu для моделей глубокого обучения: не удалось получить алгоритм свертки. Вероятно, это связано с тем, что cuDNN не удалось инициализировать - PullRequest
0 голосов
/ 14 июля 2020

Я использую tensorflow-gpu 1.15.3 и keras 2.3.1 с python 3.7 и cuda 10.0. Я подтверждаю, что версия tensorflow соответствует python и cuda (включая cudnn). Tenorflow-gpu отлично работает, когда я тестирую его на игрушечном примере по классификации изображений (например, https://github.com/keras-team/keras/blob/master/examples/cifar10_cnn.py). Но когда я пробую большую модель cnn, такую ​​как Yolo-v3 (т.е. https://github.com/qqwweee/keras-yolo3), она может выдавать ошибку (не всегда):

UnknownError: 2 root error(s) found.
  (0) Unknown: Failed to get convolution algorithm. This is probably because cuDNN failed to initialize, so try looking to see if a warning log message was printed above.
     [[{{node conv2d_1/convolution}}]]
     [[Mean/_2311]]
  (1) Unknown: Failed to get convolution algorithm. This is probably because cuDNN failed to initialize, so try looking to see if a warning log message was printed above.
     [[{{node conv2d_1/convolution}}]]
0 successful operations.
0 derived errors ignored.

Чаще всего это ошибка связана с несоответствием между версиями tensorflow-gpu и cuda. Но здесь, похоже, это не тот случай. обучение пройдет нормально без ошибки Failled to get convolution algorithm .... Но если я проведу обучение Yolo напрямую, возникнет эта ошибка.

У кого-нибудь был подобный опыт? Какие могут быть причины?

...