Tensorflow - модель не JSON Сериализуемая - PullRequest
0 голосов
/ 17 апреля 2019

Я создал двунаправленный RNN с LSTM для классификации текста с функциональным API Keras.Вот соответствующие части кода.Во-первых, это двунаправленный LSTM, где я установил return_sequence в значение true.

x = keras.layers.Bidirectional(tf.keras.layers.LSTM(128, return_sequences=True))(x)        

Затем я применяю внимание к каждому временному шагу независимо

x = keras.layers.TimeDistributed(attention)(x)

Затем я хочу добавить все временные шаги вместе водин, как показано ниже

x = tf.unstack(x, axis=2, num=256)
t_sum  = x[0]
for i in range(len(x) - 1):
      t_sum = keras.layers.Add()([t_sum, x[i+1]])

Что, по моему мнению, приводит к невозможности сериализации модели, поэтому я не могу сохранить модель.Я получаю следующую ошибку

TypeError: ('Not JSON Serializable:', b'\n\x19sum_model/unstack/unstack\x12\x06Unpack\x1a\x03sum*\n\n\x03num\x12\x03\x18\x80\x02*\x07\n\x01T\x12\x020\x01*\n\n\x04axis\x12\x02\x18\x02')

Есть ли способ, с помощью которого я могу добавить интервал временных шагов с существующим слоем keras или другим способом, который можно сериализовать?

Если я не попробуючтобы сохранить модель, все работает нормально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...