2016-09-15 2 views
0

TensorFlow предоставляет следующие функции для создания RNN: rnn(), dynamic_rnn(), state_saving_rnn() и bidirectional_rnn(). Мне интересно, когда вы хотите использовать функцию state_saving_rnn()?Почему вы хотите использовать функцию state_saving_rnn() в TensorFlow?

Я предполагаю, что это для больших RNN. При разворачивании по времени вы фактически получаете потенциально очень глубокую сеть, и если каждый уровень имеет много параметров, на графическом процессоре может закончиться нехватка памяти. Таким образом, функция будет сохранять состояние в каждый момент времени (возможно, на диск или, возможно, на память процессора, а не на GPU?). Это общая идея?

Не могли бы вы предоставить фрагмент кода или указатель на какой-нибудь код, который его использует? В частности, я хотел бы понять, когда именно вызывается государственная заставка (на каждом шаге?).

ответ

1

Там какая-то документация по его использованию с примерами здесь: https://www.tensorflow.org/versions/master/api_docs/python/contrib.training.html

Посмотрите на раздел tf.contrib.training.SequenceQueueingStateSaver в частности.

+0

Спасибо Пит. Мне жаль, что я пропустил это, когда-то трудно найти то, что вы ищете в документации TF. На самом деле проще использовать Google Search: я просто googled «site: tensorflow.org state_saving_rnn», и ваша ссылка была №5. Теперь я буду знать. ;-) – MiniQuark

Смежные вопросы