python — использовать предварительно обученную модель тензорного потока с переполнением стека

Я обучил GAN с tenorflow и теперь я хочу использовать его в своем проекте c ++.
Мой GAN выглядит примерно так (вход и выход — оба изображения):

image = tf.placeholder(tf.float32, shape=[BATCH_SIZE, 3, SIZE, SIZE])
input = 2*((tf.cast(image, tf.float32)/255.)-.5) #0~255  to -1~1
output = GAN(input) #GAN is my network including many modules

И я заметил, что есть saved_model инструменты могут сохранить мою модель в saved_model.pb который я могу использовать непосредственно в C ++.
Мой код для этого выглядит так:

tensor_input_info = tf.saved_model.utils.build_tensor_info(input)
tensor_output_info = tf.saved_model.utils.build_tensor_info(output)

gan_signature = (
tf.saved_model.signature_def_utils.build_signature_def(
inputs={'image': tensor_input_info},
outputs={'result': tensor_output_info},
method_name='gan'
)
)
legacy_init_op = tf.group(tf.tables_initializer(), name='legacy_init_op')
builder.add_meta_graph_and_variables(
session, [tf.saved_model.tag_constants.SERVING],
signature_def_map={
'my_gan':gan_signature
},
legacy_init_op=legacy_init_op)
builder.save()

Здесь я не уверен насчет ключа в dict. В этом коде я использовал «изображение» как ключ к моему вводу, но я не знаю, правильно ли это. Даже когда я получил saved_model.pb успешно.

И теперь я не знаю, что делать, как я могу использовать это в своем проекте C ++?

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]