我使用retrain.py和Google的Inception V3开发了图像分类模型。经过培训,我的验证准确率超过95%。我用了将近400个好图像和500个差的图像。我做了两个训练模型,如下所示。它们是114x114像素的颜色和大小。
但是,尽管训练模型中有很多数据,但我从真实图像中获得了约50%的准确性。我使用了类似的图像集进行训练。当我使用分类训练中使用的相同图像时,分类结果也很差。
培训参数如下:
我使用了Tensorflow服务服务器,并通过REST API连接了客户端,以获取预测结果。客户端的一部分:
image1 = img_to_array(image.load_img(img, target_size=(128,128))) / 255
payload = {
"instances": [{"image":image1.tolist()},
]
}
r = session.post('http://localhost:8501/v1/models/img_model/versions/2:predict', json=payload)
当前响应如下:(无类名)
{“预测”:[[1.0,8.76629e-16,8.01088e-27,1.86624e-16,3.77703e-28]]}
由于上述方法未返回类标签,因此我假设其始终按相同的顺序发送数字。[好值,坏值]:类似于我在训练中使用的方法。
感谢您的帮助,以了解此处的问题。
答案 0 :(得分:0)
请求格式
{
// Optional: serving signature to use.
// If unspecifed default serving signature is used.
"signature_name": <string>,
// Optional: Common context shared by all examples.
// Features that appear here MUST NOT appear in examples (below).
"context": {
"<feature_name3>": <value>|<list>
"<feature_name4>": <value>|<list>
},
// List of Example objects
"examples": [
{
// Example 1
"<feature_name1>": <value>|<list>,
"<feature_name2>": <value>|<list>,
...
},
{
// Example 2
"<feature_name1>": <value>|<list>,
"<feature_name2>": <value>|<list>,
...
}
...
]
}
响应格式
{
"result": [
// List of class label/score pairs for first Example (in request)
[ [<label1>, <score1>], [<label2>, <score2>], ... ],
// List of class label/score pairs for next Example (in request)
[ [<label1>, <score1>], [<label2>, <score2>], ... ],
...
]
}
编辑:-,我认为您正在使用的是 PREDICT 的请求格式。我将您重定向到TFX_API。请检查此链接以了解有关响应和请求格式的更多信息。