Пользовательские слои тензорфлоу 2.0 на графическом процессоре - PullRequest
0 голосов
/ 26 апреля 2020

Будут ли полностью выполненные по индивидуальному заказу слои в TensorFlow автоматически запускаться на графических процессорах? Я заметил, что в этом документе (https://www.tensorflow.org/guide/keras/rnn#rnn_layers_and_rnn_cells) кажется, что оболочки RNN не будут использовать CudNN? Это значит, что он не будет работать на GPU, верно?

1 Ответ

2 голосов
/ 26 апреля 2020

Ваши пользовательские слои будут по-прежнему использовать графический процессор, и вы можете подтвердить это, как описано в этом ответе .

Вы правы, хотя пользовательские слои не будут использовать cuDNN. Почему это имеет значение? Чтобы процитировать после NVidia:

cuDNN предоставляет хорошо настроенные реализации для стандартных процедур, таких как прямая и обратная свертка, уровни пула, нормализации и активации

Другими словами, используя Эти оптимизированные примитивы повысят эффективность обучения. Количество примеров с подробным объяснением приведено в документе cuDNN: Эффективные примитивы для глубокого обучения . Возьмем для примера пространственные свертки . Неоптимизированная реализация будет использовать «наивный» подход, в то время как cuDNN использует всевозможные приемы, чтобы сократить количество операций и распределить их соответствующим образом. Графический процессор все еще быстрый по сравнению с классическим процессором, cuDNN просто делает это быстрее. Более свежие, независимые тесты можно найти, например, в этой статье .

Тем не менее, если Tensorflow работает в режиме GPU, на GPU будет выполнен полный вычислительный график (насколько мне известно, даже нет простого способа вынуть часть графика, то есть промежуточный слой, и поставить на процессор).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...