移动网络预测结果不同

时间:2018-07-25 10:31:19

标签: python tensorflow

我应该训练一个可以预测人脸五个关键点的pb文件。网络模型是mobilenet v2。

当我训练以获得一个小的损失pb文件时,损失大约是0.7。没关系,没问题。但是,当我预测一个训练有素的pb文件时,就会出现问题。

当输入图像的形状为[100, 224, 224, 3]时,我得到的输出为[100, 10](十个表示五个关键点坐标)。可以,输出是准确的,但是当我将输入图像的形状更改为[1,224,224,3](只有一个输入图像)时,输出[1,10]与之前的结果不同。 input[0]的两种情况相同,但是output[0]不同。输入形状[100, 224, 224, 3]更准确,为什么?

output[0]的确切坐标:

[38 46 71 54 62 70 26 81 56 88]

输入形状[100, 224, 224, 3],得到input[0]

[39.381622 45.988384 73.15548 55.10713 64.56505 70.48474 29.348461
82.159615 53.589706 87.59885 ]

输入形状[1, 224, 224, 3],得到input[0]

[[40.17595 47.69543 85.54374 50.631523 64.47522 71.54203 36.73784
85.07918 79.665985 87.313995]]

output[0]的确切坐标:

[39 46 88 35 76 65 51 80 94 70]

输入形状[100, 224, 224, 3],得到input[0]

[38.898895 45.90179 86.28276 34.750797 76.82557 65.86458 51.15553
79.85125 95.181885 70.00042 ]

输入形状[1, 224, 224, 3],得到input[0]

[[39.191376 46.032986 88.266106 39.030933 72.28544 64.2173 49.861656
80.540855 94.46614 74.561905]]

系统信息:

  1. Linux Ubuntu 16.04
  2. 从源安装的TensorFlow
  3. TensorFlow版本1.8.0
  4. Python版本:3.6
  5. Bazel版本0.11.1
  6. GCC /编译器版本5.4.0 20160609(Ubuntu 5.4.0-6ubuntu1〜16.04.10)
  7. CUDA / cuDNN 9.0 / 7.0.5
  8. GPU 1060-6G

以下代码可帮助您理解:

https://github.com/tensorflow/tensorflow/issues/21124

0 个答案:

没有答案