Обучение CNN с использованием решателя cifar10

Я пытаюсь обучить CNN с помощью собственных данных, используя cifar10. сетевые слои. но когда я запускаю эту команду:

roishik@roishik-System-Product-Name:~/Desktop/caffe/caffe$ /home/roishik/Desktop/caffe/caffe/build/tools/caffe train --solver /home/roishik/Desktop/Thesis/Code/cafe_cnn/first/caffe_models/cifar_10_fast/cifar10_quick_solver.prototxt 2>&1 | tee /home/roishik/Desktop/Thesis/Code/cafe_cnn/first/caffe_models/cifar_10_fast/cifar10_quick_train_test.prototxt

Я получаю это сообщение об ошибке:

I0726 22:01:40.884320  6596 caffe.cpp:210] Use CPU.
I0726 22:01:40.884771  6596 solver.cpp:48] Initializing solver from parameters: 
test_iter: 100
test_interval: 500
base_lr: 0.001
display: 100
max_iter: 4000
lr_policy: "fixed"
momentum: 0.9
weight_decay: 0.004
snapshot: 4000
snapshot_prefix: "/home/roishik/Desktop/Thesis/Code/cafe_cnn/first/caffe_models/cifar_10_fast/cifar_10_fast"
solver_mode: CPU
net: "/home/roishik/Desktop/Thesis/Code/cafe_cnn/first/caffe_models/cifar_10_fast/cifar10_quick_train_test.prototxt"
train_state {
  level: 0
  stage: ""
}
snapshot_format: HDF5
I0726 22:01:40.885051  6596 solver.cpp:91] Creating training net from net file: /home/roishik/Desktop/Thesis/Code/cafe_cnn/first/caffe_models/cifar_10_fast/cifar10_quick_train_test.prototxt
[libprotobuf ERROR google/protobuf/text_format.cc:245] Error parsing text-format caffe.NetParameter: 1:7: Message type "caffe.NetParameter" has no field named "I0726".
F0726 22:01:40.885253  6596 upgrade_proto.cpp:79] Check failed: ReadProtoFromTextFile(param_file, param) Failed to parse NetParameter file: /home/roishik/Desktop/Thesis/Code/cafe_cnn/first/caffe_models/cifar_10_fast/cifar10_quick_train_test.prototxt
*** Check failure stack trace: ***
    @     0x7f0f10ad5daa  (unknown)
    @     0x7f0f10ad5ce4  (unknown)
    @     0x7f0f10ad56e6  (unknown)
    @     0x7f0f10ad8687  (unknown)
    @     0x7f0f10f614be  caffe::ReadNetParamsFromTextFileOrDie()
    @     0x7f0f10fc6acb  caffe::Solver<>::InitTrainNet()
    @     0x7f0f10fc7b9c  caffe::Solver<>::Init()
    @     0x7f0f10fc7eca  caffe::Solver<>::Solver()
    @     0x7f0f10fa2473  caffe::Creator_SGDSolver<>()
    @           0x40eb6e  caffe::SolverRegistry<>::CreateSolver()
    @           0x407d4b  train()
    @           0x40589c  main
    @     0x7f0f0fae1f45  (unknown)
    @           0x40610b  (unknown)
    @              (nil)  (unknown)

Я перерыл весь гугл и не нашел ответа. Что означает эта строка?:

 Error parsing text-format caffe.NetParameter: 1:7: Message type "caffe.NetParameter" has no field named "I0726".

Очень ценю вашу помощь!


person roishik    schedule 26.07.2016    source источник
comment
содержит ли ваш train_val.prototxt или Solver.prototxt строку I0726?   -  person Autonomous    schedule 27.07.2016
comment
опубликуйте первые несколько строк '/home/roishik/Desktop/Thesis/Code/cafe_cnn/first/caffe_models/cifar_10_fast/cifar10_quick_train_test.prototxt', чтобы мы могли увидеть синтаксическую ошибку, на которую жалуется caffe.   -  person Shai    schedule 27.07.2016
comment
О, спасибо, что заметили меня :)   -  person roishik    schedule 27.07.2016


Ответы (1)


Это потому, что вы делаете это неправильно.

Файлы, которые вы используете:

Solver: /home/roishik/Desktop/Thesis/Code/cafe_cnn/first/caffe_models/cifar_10_fast/cifar10_quick_solver.prototxt
Net: /home/roishik/Desktop/Thesis/Code/cafe_cnn/first/caffe_models/cifar_10_fast/cifar10_quick_train_test.prototxt
Log output: /home/roishik/Desktop/Thesis/Code/cafe_cnn/first/caffe_models/cifar_10_fast/cifar10_quick_train_test.prototxt

Следует отметить, что и файл Net, и файл журнала одинаковы, что означает, что вы заменяете файл Net данными журнала. Таким образом, к тому времени, когда caffe Solver читает сетевой файл, данные заменяются журналом и, следовательно, ошибкой.

Это должно решить вашу проблему:

roishik@roishik-System-Product-Name:~/Desktop/caffe/caffe$ /home/roishik/Desktop/caffe/caffe/build/tools/caffe train --solver /home/roishik/Desktop/Thesis/Code/cafe_cnn/first/caffe_models/cifar_10_fast/cifar10_quick_solver.prototxt 2>&1 | tee ./log.txt

Но убедитесь, что вы заменили перезаписанный файл Net правильным файлом.

person Anoop K. Prabhu    schedule 27.07.2016
comment
ООО Спасибо! ты был прав! Я просто забыл написать .log вместо .prototxt - person roishik; 27.07.2016