TensorFlow Keras SavedModel пустая папка переменных - PullRequest
0 голосов
/ 26 сентября 2019

У меня есть модель TensorFlow keras, которая выглядит следующим образом:

model = tf.keras.Sequential([
    feature_layer,
    tf.keras.layers.Dense(64, activation='relu'),
    tf.keras.layers.Dense(
        6, kernel_regularizer=l2(0.01), activation=tf.nn.softmax
    )
])
model.compile(loss='squared_hinge',
              optimizer='adadelta',
              metrics=['accuracy'])

Я сохраняю ее в формате, обслуживаемом с помощью TensorFlow Serving, со следующим кодом и входными данными:

tf.saved_model.simple_save(
    keras.backend.get_session(),
    export_path,
    inputs=model.inputs,
    outputs={t.name:t for t in model.outputs})

#model.inputs:
#{
# 'int1': <tf.Tensor 'int1_5:0' shape=(?,) dtype=int32>, 
# 'int2': <tf.Tensor 'int2_5:0' shape=(?,) dtype=int32>,
# 'int3': <tf.Tensor 'int3_5:0' shape=(?,) dtype=int32>,
# 'string1': <tf.Tensor 'string1_5:0' shape=(?,) dtype=string>
#}

#model.outputs:
# [<tf.Tensor 'sequential/Identity:0' shape=(?, 6) dtype=float32>]

Я ожидаю 6 результатов, каждый из которых соответствует классу и их вероятности.Используя model.predict(), это, кажется, работает нормально: модель возвращает массивы, подобные этому [0.15914398 0.152271 0.18949589 0.14985411 0.17449048 0.1747446 ].

Однако модель SavedModel, которую я хочу использовать с обслуживанием TensorFlow, созданным кодом, имеет пустые переменные'папка после генерации, оставляя только файл сохраненный_модель.pb.Когда я запрашиваю модель с сохраненной_моделью_кли, я получаю следующее:

RuntimeError: The Session graph is empty.  Add operations to the graph before calling run().

Почему это так и как я могу получить желаемое поведение?Спасибо!

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