Exportar gráficos Tensorflow do Python para uso em C ++

Exatamente como os modelos python devem ser exportados para uso em c ++?

Estou tentando fazer algo semelhante a este tutorial:https://www.tensorflow.org/versions/r0.8/tutorials/image_recognition/index.html

Estou tentando importar meu próprio modelo TF na API c ++, em vez da inicial. Ajustei o tamanho da entrada e os caminhos, mas erros estranhos continuam aparecendo. Passei o dia todo lendo o estouro de pilha e outros fóruns, mas sem sucesso.

Eu tentei dois métodos para exportar o gráfico.

Método 1: parágrafo.

...loading inputs, setting up the model, etc....

sess = tf.InteractiveSession()
sess.run(tf.initialize_all_variables())


for i in range(num_steps):  
  x_batch, y_batch = batch(50)  
  if i%10 == 0:
        train_accuracy = accuracy.eval(feed_dict={
        x:x_batch, y_: y_batch, keep_prob: 1.0})
        print("step %d, training accuracy %g"%(i, train_accuracy))
  train_step.run(feed_dict={x: x_batch, y_: y_batch, keep_prob: 0.5})

print("test accuracy %g"%accuracy.eval(feed_dict={
    x: features_test, y_: labels_test, keep_prob: 1.0}))

saver = tf.train.Saver(tf.all_variables())
checkpoint = 
   '/home/sander/tensorflow/tensorflow/examples/cat_face/data/model.ckpt'
    saver.save(sess, checkpoint)

   tf.train.export_meta_graph(filename=
   '/home/sander/tensorflow/tensorflow/examples/cat_face/data/cat_graph.pb',  
    meta_info_def=None,
    graph_def=sess.graph_def,
    saver_def=saver.restore(sess, checkpoint),
    collection_list=None, as_text=False)

O método 1 gera o seguinte erro ao tentar executar o programa:

[libprotobuf ERROR 
google/protobuf/src/google/protobuf/wire_format_lite.cc:532] String field 
'tensorflow.NodeDef.op' contains invalid UTF-8 data when parsing a protocol 
buffer. Use the 'bytes' type if you intend to send raw bytes. 
E tensorflow/examples/cat_face/main.cc:281] Not found: Failed to load 
compute graph at 'tensorflow/examples/cat_face/data/cat_graph.pb'

Eu também tentei outro método de exportação do gráfico:

Método 2: write_graph:

tf.train.write_graph(sess.graph_def, 
'/home/sander/tensorflow/tensorflow/examples/cat_face/data/', 
'cat_graph.pb', as_text=False)

Esta versão realmente parece carregar algo, mas recebo um erro sobre as variáveis não serem inicializadas:

Running model failed: Failed precondition: Attempting to use uninitialized  
value weight1
[[Node: weight1/read = Identity[T=DT_FLOAT, _class=["loc:@weight1"], 
_device="/job:localhost/replica:0/task:0/cpu:0"](weight1)]]

questionAnswers(2)

yourAnswerToTheQuestion