Текущая ситуация
1) Слой CuDNNLSTM используется в структуре модели глубокого обучения.
2) Он обучен с данными временных рядов. шаг по времени для каждой партии составляет 1000. (Я думаю, что это довольно долго.)
3) Обучение было проведено с Tesla T4 на облачной платформе Google.
4) Загрузите модель на локальный P C и использовать его с помощью графического процессора GTX 1060 (6 ГБ)
5) Прогнозирование по модели на локальном компьютере p c, ошибка не возникает каждый раз, но иногда возникает ошибка.
I Я искал в Google ключевое слово error, и это, похоже, проблема с памятью GPU.
Причина, по которой я думаю, что это проблема с памятью GPU
1) Большинство решений чтобы это сообщение об ошибке было решено путем динамического выделения памяти.
config = tf.ConfigProto ()
config.gpu_options.allow_growth = True)
Но это не так работать для меня.
2) если вес CuDNNLSTM изменяется на модель LSTM, прогнозирование по модели работает хорошо без ошибок. Тем не менее, это очень медленно. Скорость прогнозирования (model.predict), кажется, примерно в 10 раз отличается.
Вопрос
Интересно, если это проблема с памятью графического процессора, и она не может быть в состоянии необходимо решить, даже если установлен новый графический процессор. На самом деле объем модели не такой большой (~ 100 МБ), и при проверке использования графического процессора он занимал только 1 ГБ памяти.
Мне интересно, какие части я собираюсь использовать чтобы точно знать, что вызвало проблему.
Спасибо, что прочитали длинный текст.
2020-03-11 14:16:53.437923: E tensorflow/stream_executor/cuda/cuda_dnn.cc:82] CUDNN_STATUS_INTERNAL_ERROR
in tensorflow/stream_executor/cuda/cuda_dnn.cc(1477): 'cudnnRNNForwardTraining( cudnn.handle(), rnn_desc.handle(), model_dims.seq_length, input_desc.handles(), input_data.opaque(), input_h_desc.handle(), input_h_data.opaque(), input_c_desc.handle(), input_c_data.opaque(), rnn_desc.params_handle(), params.opaque(), output_desc.handles(), output_data->opaque(), output_h_desc.handle(), output_h_data->opaque(), output_c_desc.handle(), output_c_data->opaque(), workspace.opaque(), workspace.size(), reserve_space.opaque(), reserve_space.size())'
2020-03-11 14:16:53.438538: W tensorflow/core/framework/op_kernel.cc:1401] OP_REQUIRES failed at cudnn_rnn_ops.cc:1224 : Internal: Failed to call ThenRnnForward with model config: [rnn_mode, rnn_input_mode, rnn_direction_mode]: 2, 0, 0 , [num_layers, input_size, num_units, dir_count, seq_length, batch_size]: [1, 38, 16, 1, 1000, 1]
Traceback (most recent call last):
File "D:\Anaconda3_64\envs\gpu\lib\site-packages\keras\engine\training.py", line 1462, in predict
callbacks=callbacks)
File "D:\Anaconda3_64\envs\gpu\lib\site-packages\keras\engine\training_arrays.py", line 324, in predict_loop
batch_outs = f(ins_batch)
File "D:\Anaconda3_64\envs\gpu\lib\site-packages\tensorflow\python\keras\backend.py", line 3076, in __call__
run_metadata=self.run_metadata)
File "D:\Anaconda3_64\envs\gpu\lib\site-packages\tensorflow\python\client\session.py", line 1439, in __call__
run_metadata_ptr)
File "D:\Anaconda3_64\envs\gpu\lib\site-packages\tensorflow\python\framework\errors_impl.py", line 528, in __exit__
c_api.TF_GetCode(self.status.status))
tensorflow.python.framework.errors_impl.InternalError: Failed to call ThenRnnForward with model config: [rnn_mode, rnn_input_mode, rnn_direction_mode]: 2, 0, 0 , [num_layers, input_size, num_units, dir_count, seq_length, batch_size]: [1, 38, 16, 1, 1000, 1]
[[{{node bidirectional_2/CudnnRNN}}]]
[[{{node dense_1/BiasAdd}}]]