No Operation named [input] in the Graph\" error wh

2019-01-15 19:22发布

问题:

I am trying to finetune/retrain InceptionV1 model here, on my own data. I was able to

  1. Convert the Image data to TFR format data using this.

  2. Pass the converted data to finetune_inception_v1_on_flowers

  3. Complete the training and evaluation in according to the script file above, I am attaching the logs here.

    INFO:tensorflow:global step 1000: loss = 0.1833 (20.37 sec/step) INFO:tensorflow:Stopping Training. 
    INFO:tensorflow:Finished training! Saving model to disk. INFO:tensorflow:Scale of 0 disables regularizer. 
    WARNING:tensorflow:From eval_image_classifier.py:157: streaming_recall_at_k (from tensorflow.contrib.metrics.python.ops.metric_ops) is deprecated and will be removed after 2016-11-08. Instructions for updating: Please use streaming_sparse_recall_at_k, and reshape labels from [batch_size] to [batch_size, 1]. 
        INFO:tensorflow:Evaluating /tmp/flowers-models/inception_v1/all/model.ckpt-1000 
        INFO:tensorflow:Starting evaluation at 2017-04-26-14:59:28 INFO:tensorflow:Restoring parameters from /tmp/flowers-models/inception_v1/all/model.ckpt-1000 
        INFO:tensorflow:Evaluation [1/4] 
        INFO:tensorflow:Evaluation [2/4] 
        INFO:tensorflow:Evaluation [3/4] 
        INFO:tensorflow:Evaluation [4/4] 
        2017-04-26 20:30:23.505265: I tensorflow/core/kernels/logging_ops.cc:79] eval/Recall_5[1] 
        2017-04-26 20:30:23.505420: I tensorflow/core/kernels/logging_ops.cc:79] eval/Accuracy[1] 
        INFO:tensorflow:Finished evaluation at 2017-04-26-15:00:23
    

4.The training process genertaed many checkpoints, two graph.pbtxt files. I used the latest checkpoint and the graph.pbtxt file in the freeze tool and generated a .pb file, according to the discussion here, I used following parameters

--input_graph=/../../graph.pbtxt

--output_node_names=InceptionV1/Logits/Predictions/Softmax

 

  1. Now I am trying to use the .pb file in tensorflow demo application, by making few changes toClassifierActivity.java in tensorflow demo android app and it shows an error to me,

No Operation named [input] in the Graph"

following are the changes I made toClassifierActivity.java

private static final int INPUT_SIZE = 224;//224//299

private static final int IMAGE_MEAN = 117;//117//128

private static final float IMAGE_STD = 1;//1//128

private static final String INPUT_NAME ="input";//input

private static final String OUTPUT_NAME ="InceptionV1/Logits/Predictions/Softmax";//output

private static final String MODEL_FILE ="file:///android_asset/frozen_1000_graph.pb";//tensorflow_inception_graph

private static final String LABEL_FILE ="file:///android_asset/labels.txt";//imagenet_comp_graph_label_strings

  1. As suggested in discussion link above, I tried Summarize graph tool on my frozen_1000_graph.pb and got the following output.

No inputs spotted. No variables spotted. Found 1 possible outputs: (name=InceptionV1/Logits/Predictions/Softmax, op=Softmax) Found 5598451 (5.60M) const parameters, 0 (0) variable parameters, and 114 control_edges Op types used: 472 Const, 230 Mul, 173 Add, 172 Sub, 116 Identity, 114 Sum, 58 Reshape, 58 Conv2D, 57 Rsqrt, 57 Relu, 57 Reciprocal, 57 Square, 57 SquaredDifference, 57 Mean, 57 StopGradient, 13 MaxPool, 9 ConcatV2, 1 Squeeze, 1 RandomUniform, 1 Softmax, 1 RealDiv, 1 QueueDequeueV2, 1 Floor, 1 FIFOQueueV2, 1 BiasAdd, 1 AvgPool.

Please help me understand, how I can fix this issue.

回答1:

Here are the input to the network created, so if you can add images = tf.identity(images, name='Inputs') to name the tensor to the network.