我应该训练一个可以预测人脸五个关键点的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]]
系统信息:
以下代码可帮助您理解: