2016-05-17 4 views
0

Я хочу, чтобы запустить тест на изображение и обнаружить изображение и возвращает результат, но я столкнулся следующий вопрос:classify.py не принимает аргумент --print_results

[email protected]:~/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 
[email protected]:~/caffe$ 

ответ

1

Как вы можете видеть в classify.py скрипта, нет --print_results варианта: https://github.com/BVLC/caffe/blob/master/python/classify.py

Кроме того, вы не передавая необходимые аргументы, которые являются input_file и output_file. Возможно, то, что вы ищете, это output_file, который будет записывать предсказания в файл.

+0

fo - мой выходной файл –

+0

множество сайтов Например: http://stackoverflow.com/questions/32171454/caffe-how-to-run-classify-py-for-a-set- на-изображениях указали входные данные --print_results. \t Может быть, это специфическая вещь для питона, но почему она не работает для меня –

+1

Возможно, этот урок неправильный. Поиск вокруг я видел также ту же проблему (https://github.com/BVLC/caffe/issues/4150). Возможно, учебник переопределяет сценарий или добавляет другой пример. Но эта опция не существует – silviomoreto

1

Есть ли какой-либо другой учебник, где я могу получить правильный ответ?

Ye, этот аргумент был в других учебниках. Вы можете добавить этот аргумент 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 

этого выходного кода результаты данных с тегами

PS Я скопировал части кода для лучшего обзора

+0

Я пробовал это решение, но он не может найти 'args.labels_file' в любом месте' classify.py' –