当前位置 : 主页 > 大数据 > 区块链 >

机器学习 – 在微调/重新训练初始V1瘦模型时没有在图形中命名为[输入]的操作

来源:互联网 收集:自由互联 发布时间:2021-06-22
我试图在我自己的数据上微调/重新训练InceptionV1模型.我以前可以 使用this将图像数据转换为TFR格式数据. 将转换后的数据传递给finetune_inception_v1_on_flowers 根据上面的脚本文件完成培训和
我试图在我自己的数据上微调/重新训练InceptionV1模型.我以前可以

>使用this将图像数据转换为TFR格式数据.
>将转换后的数据传递给finetune_inception_v1_on_flowers
>根据上面的脚本文件完成培训和评估,我在这里附上日志.

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.培训过程产生了许多检查点,两个graph.pbtxt文件.我在冻结工具中使用了最新的checkpoint和graph.pbtxt文件并生成了一个.pb文件,根据讨论here,我使用了以下参数

–input_graph=/../../graph.pbtxt

–output_node_names=InceptionV1/Logits/Predictions/Softmax

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

No Operation named [input] in the Graph

以下是我对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”;//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

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

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.

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

Here是创建的网络的输入,因此如果可以添加 images = tf.identity(images,name =’Inputs’)将张量命名为网络.
网友评论