Я пытаюсь создать простой RNN на основе LSTM в тензорном тензоре.
Обучение пока работает, но я не могу восстановить модель.Попытка сделать это выдаст NotFoundError
, указывающий на узел смещения из LSTM:
NotFoundError: ..
Key bidirectional/backward_lstm/bias not found in checkpoint
, и я не знаю, почему это так.
Это было на самом делеПредполагается, что это обходной путь для другой проблемы, где я могу решить аналогичную проблему, используя LSTM от tenor2tensor (https://github.com/tensorflow/tensor2tensor/issues/1616).
Environment
$ pip freeze | grep tensor
mesh-tensorflow==0.0.5
tensor2tensor==1.12.0
tensorboard==1.12.0
tensorflow-datasets==1.0.2
tensorflow-estimator==1.13.0
tensorflow-gpu==1.12.0
tensorflow-metadata==0.9.0
tensorflow-probability==0.5.0
Тело модели
def body(self, features):
inputs = features['inputs'][:,:,0,:]
hparams = self._hparams
problem = hparams.problem
encoders = problem.feature_info
max_input_length = 350
max_output_length = 350
encoder = Bidirectional(LSTM(128, return_sequences=True, unroll=False), merge_mode='concat')(inputs)
encoder_last = encoder[:, -1, :]
decoder = LSTM(256, return_sequences=True, unroll=False)(inputs, initial_state=[encoder_last, encoder_last])
attention = dot([decoder, encoder], axes=[2, 2])
attention = Activation('softmax', name='attention')(attention)
context = dot([attention, encoder], axes=[2, 1])
concat = concatenate([context, decoder])
return tf.expand_dims(concat, 2)
Полная ошибка
NotFoundError (see above for traceback): Restoring from checkpoint failed. This is most likely due to a Variable name or other graph key that is missing from the checkpoint. Please ensure that you have not altered the graph expected based on the checkpoint. Original error:
Key while/lstm_keras/parallel_0_4/lstm_keras/lstm_keras/body/bidirectional/backward_lstm/bias not found in checkpoint
[[node save/RestoreV2 (defined at /home/sfalk/tmp/pycharm_project_265/asr/model/persistence.py:282) = RestoreV2[dtypes=[DT_FLOAT, DT_FLOAT, DT_FLOAT, DT_FLOAT, DT_FLOAT, DT_FLOAT, DT_FLOAT, DT_FLOAT, DT_FLOAT, DT_FLOAT, DT_FLOAT, DT_FLOAT], _device="/job:localhost/replica:0/task:0/device:CPU:0"](_arg_save/Const_0_0, save/RestoreV2/tensor_names, save/RestoreV2/shape_and_slices)]]
Любая проблема может быть и как это исправить?