Установка начального состояния в пользовательской ячейке RNN - PullRequest
0 голосов
/ 26 октября 2019

Я работаю над пользовательской ячейкой RNN. Пользовательская часть заключается в том, что рядом со скрытым состоянием (shape=(units)) я также несу матрицу (shape=(units, units)) в состоянии ячейки. Это прекрасно работает, но теперь я заинтересован в инициализации матрицы как единичной матрицы. Я пробовал другой метод предоставления initial_state для метода вызова, но каждый раз, когда кажется, что возникает проблема с тем, как я его предоставляю, выдается ошибка типа

ValueError: An `initial_state` was passed that is not compatible with `cell.state_size`. Received `state_spec`=ListWrapper([InputSpec(shape=(50,), ndim=1), InputSpec(shape=(50, 50), ndim=2)]); however `cell.state_size` is [TensorShape([50]), TensorShape([50, 50])]

.

Вот как я настраиваю состояние ячейки:

self.state_size = NoDependency([TensorShape([self.units]),
                                        TensorShape([self.units, self.units])])

и пытаюсь их инициализировать при вызове:

x = rnn_layer(x, initial_state = [tf.zeros(50), tf.eye(50)]).
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...