keras.layers.TimeDistributed with hub.KerasLayer NotImplementedError - PullRequest
0 голосов
/ 16 мая 2019

Я хочу использовать слой tf.keras.TimeDistributed () с моделью CNN tf.hub inception_v3 из последней версии TensorFLow V2 (tf-nightly-gpu-2.0-preview).Результат показан ниже.Кажется, что tf.keras.TimeDistributed () не полностью реализован для работы с моделями tf.hub.Так или иначе, форма входного слоя не может быть вычислена.Мой вопрос: есть ли решение этой проблемы?

tf.keras.TimeDistributed с обычным tf.keras.layer работает нормально.Я просто хотел бы применить модель CNN к каждому временному шагу.

Модель

import tensorflow as tf
import tensorflow_hub as hub 
from tensorflow.keras import layers, Model

model_url = "https://tfhub.dev/google/tf2- 

preview / inception_v3 / feature_vector / 3 "

feature_layer = hub.KerasLayer(model_url,
                               input_shape = (299, 299, 3),
                               output_shape = [2048],
                               trainable = False)

video = layers.Input(shape = (None, 299, 299, 3))

encoded_frames = layers.TimeDistributed(feature_layer)(video)

model = Model(inputs = video, outputs = encoded_frames)

Ожидаемый результат

Модель tf.keras

Сообщения об ошибках

Файл "/usr/local/lib/python3.5/dist-packages/tensorflow/python/keras/engine/base_layer.py ", строка 489, в compute_output_shape повысить NotImplementedError NotImplementedError

...