在精确调整/重新训练inceptionV1 slim模型时,没有在Graph中命名为[input]的操作"错误

Sub*_*ddy 5 machine-learning protocol-buffers models tensorflow

我试图在我自己的数据上微调/重新训练InceptionV1模型.我以前可以

  1. 使用将图像数据转换为TFR格式数据.

  2. 将转换后的数据传递给  finetune_inception_v1_on_flowers

  3. 根据上面的脚本文件完成培训和评估,我在这里附上日志.

    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
    
    Run Code Online (Sandbox Code Playgroud)

4.培训过程产生了许多检查点,两个graph.pbtxt文件.我在冻结工具中使用了最新的checkpoint和graph.pbtxt文件并生成了一个.pb文件,根据这里的讨论  ,我使用了以下参数

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

--output_node_names = InceptionV1/Logits /预测/使用SoftMax

 

  1. 现在我试图在tensorflow演示应用程序中使用.pb文件,通过在tensorflow演示android应用程序中对ClassifierActivity.java进行一些更改,它向我显示错误,

没有名为[输入]的操作在图表中 "

以下是我对ClassifierActivity.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"; //输入

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

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. 正如上面讨论链接中所建议的那样,我在freeze_1000_graph.pb上尝试了Summarize图形工具并获得了以下输出.

没有发现任何输入.没有发现任何变数.找到1个可能的输出:(name = InceptionV1/Logits/Predictions/Softmax,op = Softmax)找到5598451(5.60M)const参数,0(0)可变参数和114 control_edges使用的Op类型: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.

请帮助我理解,我如何解决这个问题.

Ser*_*ama 2

以下是创建的网络的输入,因此您是否可以添加 images = tf.identity(images, name='Inputs') 来为网络命名张量。

  • 链接已损坏 (2认同)