我想在图像上运行测试并检测图像并返回结果,但我面临以下问题:
ubuntu@ip-172-31-6-58:~/caffe$ python python/classify.py --print_results examples/images/cat.jpg fo
usage: classify.py [-h] [--model_def MODEL_DEF]
[--pretrained_model PRETRAINED_MODEL] [--gpu]
[--center_only] [--images_dim IMAGES_DIM]
[--mean_file MEAN_FILE] [--input_scale INPUT_SCALE]
[--raw_scale RAW_SCALE] [--channel_swap CHANNEL_SWAP]
[--ext EXT]
input_file output_file
classify.py: error: unrecognized arguments: --print_results
ubuntu@ip-172-31-6-58:~/caffe$
答案 0 :(得分:1)
正如您在if log3(Float(n)) % 1 == 0.0
func log3(val: Float) -> Float
脚本中所看到的,没有classify.py
选项:https://github.com/BVLC/caffe/blob/master/python/classify.py
此外,您没有传递必需的参数,即--print_results
和input_file
。也许您正在寻找的是output_file
,它会将预测写入文件。
答案 1 :(得分:1)
有没有其他教程我可以得到正确的答案?
是的,这个论点是在另一个教程中。您可以从此处将此参数添加到classify.py: https://github.com/jetpacapp/caffe/blob/master/python/classify.py#L93
parser.add_argument(
"--print_results",
action='store_true',
help="Write output text to stdout rather than serializing to a file."
)
您需要添加处理程序才能从此处查看结果: https://github.com/jetpacapp/caffe/blob/master/python/classify.py#L142
if args.print_results:
with open(args.labels_file) as f:
labels_df = pd.DataFrame([
{
'synset_id': l.strip().split(' ')[0],
'name': ' '.join(l.strip().split(' ')[1:]).split(',')[0]
}
for l in f.readlines()
])
labels = labels_df.sort('synset_id')['name'].values
indices = (-scores).argsort()[:5]
predictions = labels[indices]
meta = [
(p, '%.5f' % scores[i])
for i, p in zip(indices, predictions)
]
print meta
此代码输出数据结果带标签
P.S。我复制了代码部分以获得最佳视图