Object-based checkpointing support for unidirectional cuDNN LSTM cells
authorAllen Lavoie <allenl@google.com>
Fri, 6 Apr 2018 17:26:40 +0000 (10:26 -0700)
committerTensorFlower Gardener <gardener@tensorflow.org>
Fri, 6 Apr 2018 17:29:12 +0000 (10:29 -0700)
commit665e44f612c72d39717b0a5163dca82a07e1c174
treebbe699c7a92f84d2e25b424fa0af230487db7675
parent53868bfd9705da3fc15b59ab02db39b652686b13
Object-based checkpointing support for unidirectional cuDNN LSTM cells

Once checked in, this will be the only way I know of to save canonical weights
when executing eagerly. Eager's name-based saving support will only do the
opaque parameter buffer.

I'm not going to try converting everything in one go, but it's a start at
least. And everything else should raise a NotImplementedError rather than
silently not saving correctly.

Single-layer cuDNN cells can be swapped for un-wrapped cuDNN compatible cells or
single cells wrapped in MultiRNNCells. Multi-layer cells need MultiRNNCell
wrapping.

PiperOrigin-RevId: 191905703
tensorflow/contrib/cudnn_rnn/BUILD
tensorflow/contrib/cudnn_rnn/python/kernel_tests/cudnn_rnn_test.py
tensorflow/contrib/cudnn_rnn/python/layers/cudnn_rnn.py
tensorflow/contrib/cudnn_rnn/python/ops/cudnn_rnn_ops.py