Конфигурация LSTM в ядре cuDNN - PullRequest
0 голосов
/ 05 августа 2020

Я пытаюсь запустить LSTM с настройкой автокодировщика в Google Colab с поддержкой gpu. Но я получаю следующее предупреждение:

WARNING: tensorflow: Layer lstm не будет использовать ядро ​​cuDNN, поскольку оно не соответствует критериям ядра cuDNN. При работе на GPU

Generi c ядро ​​GPU будет значительно медленнее, чем ядро ​​cuDNN. Итак, я искал решение и нашел здесь (https://keras.io/api/layers/recurrent_layers/lstm/) требования ядра cuDNN для модуля LSTM. В частности:

activation == tanh
recurrent_activation == sigmoid
recurrent_dropout == 0
unroll is False
use_bias is True
Inputs, if use masking, are strictly right-padded.
Eager execution is enabled in the outermost context.

Я думал, что обнаружил свою проблему в функции активации, которая была «relu», другие требования cuDNN являются значениями по умолчанию в TF. Вот обновленный код:

model = Sequential()
model.add(LSTM(200, activation='tanh',input_shape=(n_timesteps, n_features)))
model.add(RepeatVector(n_outputs))
model.add(LSTM(200, activation='tanh', return_sequences=True))
model.add(TimeDistributed(Dense(100, activation='relu')))
model.add(TimeDistributed(Dense(1)))
model.compile(loss='mse', optimizer='adam')
model.fit(train_x, train_y, epochs=epochs, batch_size=batch_size, verbose=verbose)

Но при выполнении я получаю такие же предупреждения о том, что требования cuDNN не выполняются. Что не так?

TF: 2.3.0

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