0

私はtrain_caffenet.shを実行すると、私は次のエラーを取得:私はそれを解決しようとした使用カフェは自分のjpgデータセットを訓練する:タイプ「caffe.ImageDataParameterは、」「バックエンド」という名前のフィールドを持っていない

I0906 10:56:42.327703 21556 solver.cpp:91] Creating training net from net file: /home/pris/caffe-master/examples/myself/train_val.prototxt 
[libprotobuf ERROR google/protobuf/text_format.cc:245] Error parsing text-format caffe.NetParameter: 26:12: Message type "caffe.ImageDataParameter" has no field named "backend". 
F0906 10:56:42.327837 21556 upgrade_proto.cpp:79] Check failed: ReadProtoFromTextFile(param_file, param) Failed to parse NetParameter file: /home/pris/caffe-master/examples/myself/train_val.prototxt 
*** Check failure stack trace: *** 
    @  0x7f5013ca0daa (unknown) 
    @  0x7f5013ca0ce4 (unknown) 
    @  0x7f5013ca06e6 (unknown) 
    @  0x7f5013ca3687 (unknown) 
    @  0x7f50142b019e caffe::ReadNetParamsFromTextFileOrDie() 
    @  0x7f501429e76b caffe::Solver<>::InitTrainNet() 
    @  0x7f501429f83c caffe::Solver<>::Init() 
    @  0x7f501429fb6a caffe::Solver<>::Solver() 
    @  0x7f50143de663 caffe::Creator_SGDSolver<>() 
    @   0x40e9be caffe::SolverRegistry<>::CreateSolver() 
    @   0x407b62 train() 
    @   0x4059ec main 
    @  0x7f5012faef45 (unknown) 
    @   0x406121 (unknown) 
    @    (nil) (unknown) 
Aborted (core dumped) 

を数日間はまだそれが間違っている方法を把握することはできません。誰かが私には固定助けることができれば、私は本当に感謝します

#!/usr/bin/env sh 

/home/pris/caffe-master/build/tools/caffe train \ 
    --solver=/home/pris/caffe-master/examples/myself/solver.prototxt 

:ここ
は私のtrain_val.prototxt、主に$CAFFE_TOOT/models/bvlc_reference_caffenet

name: "CaffeNet" 
layer { 
    name: "data" 
    type: "ImageData" 
    top: "data" 
    top: "label" 
    include { 
    phase: TRAIN 
    } 
    transform_param { 
    mirror: true 
    crop_size: 227 
    mean_file: "/home/pris/caffe-master/data/myself/myimagenet_mean.binaryproto" 
    } 
# mean pixel/channel-wise mean instead of mean image 
# transform_param { 
# crop_size: 227 
# mean_value: 104 
# mean_value: 117 
# mean_value: 123 
# mirror: true 
# } 
    image_data_param { 
    source: "/home/pris/caffe-master/examples/myself/imagenet_train_leveldb" 
    batch_size: 256 
    backend: LEVELDB 
    } 
} 
layer 
{ 
    name: "data" 
    type: "ImageData" 
    top: "data" 
    top: "label" 
    include { phase: TEST } 
    transform_param 
    { 
    mirror: false 
    crop_size: 227 
    mean_file: "/home/pris/caffe-master/data/myself/myimagenet_mean.binaryproto" 
    } 
# mean pixel/channel-wise mean instead of mean image 
# transform_param { 
# crop_size: 227 
# mean_value: 104 
# mean_value: 117 
# mean_value: 123 
# mirror: false 
# } 
    image_data_param 
    { 
    source: "/home/pris/caffe-master/examples/myself/imagenet_val_leveldb" 
    batch_size: 50 
    backend: LEVELDB 
    } 
} 
layer { 
    name: "conv1" 
    type: "Convolution" 
    bottom: "data" 
    top: "conv1" 
    param 
    { 
    lr_mult: 1 
    decay_mult: 1 
    } 
    param 
    { 
    lr_mult: 2 
    decay_mult: 0 
    } 
    convolution_param 
    { 
    num_output: 96 
    kernel_size: 11 
    stride: 4 
    weight_filler 
    { 
     type: "gaussian" 
     std: 0.01 
    } 
    bias_filler 
    { 
     type: "constant" 
     value: 0 
    } 
    } 
} 
layer { 
    name: "relu1" 
    type: "ReLU" 
    bottom: "conv1" 
    top: "conv1" 
} 
layer { 
    name: "pool1" 
    type: "Pooling" 
    bottom: "conv1" 
    top: "pool1" 
    pooling_param { 
    pool: MAX 
    kernel_size: 3 
    stride: 2 
    } 
} 
layer { 
    name: "norm1" 
    type: "LRN" 
    bottom: "pool1" 
    top: "norm1" 
    lrn_param { 
    local_size: 5 
    alpha: 0.0001 
    beta: 0.75 
    } 
} 
layer { 
    name: "conv2" 
    type: "Convolution" 
    bottom: "norm1" 
    top: "conv2" 
    param 
    { 
    lr_mult: 1 
    decay_mult: 1 
    } 
    param 
    { 
    lr_mult: 2 
    decay_mult: 0 
    } 
    convolution_param 
    { 
    num_output: 256 
    pad: 2 
    kernel_size: 5 
    group: 2 
    weight_filler 
    { 
     type: "gaussian" 
     std: 0.01 
    } 
    bias_filler 
    { 
     type: "constant" 
     value: 1 
    } 
    } 
} 
layer { 
    name: "relu2" 
    type: "ReLU" 
    bottom: "conv2" 
    top: "conv2" 
} 
layer { 
    name: "pool2" 
    type: "Pooling" 
    bottom: "conv2" 
    top: "pool2" 
    pooling_param { 
    pool: MAX 
    kernel_size: 3 
    stride: 2 
    } 
} 
layer { 
    name: "norm2" 
    type: "LRN" 
    bottom: "pool2" 
    top: "norm2" 
    lrn_param { 
    local_size: 5 
    alpha: 0.0001 
    beta: 0.75 
    } 
} 
layer { 
    name: "conv3" 
    type: "Convolution" 
    bottom: "norm2" 
    top: "conv3" 
    param 
    { 
    lr_mult: 1 
    decay_mult: 1 
    } 
    param 
    { 
    lr_mult: 2 
    decay_mult: 0 
    } 
    convolution_param 
    { 
    num_output: 384 
    pad: 1 
    kernel_size: 3 
    weight_filler 
    { 
     type: "gaussian" 
     std: 0.01 
    } 
    bias_filler 
    { 
     type: "constant" 
     value: 0 
    } 
    } 
} 
layer { 
    name: "relu3" 
    type: "ReLU" 
    bottom: "conv3" 
    top: "conv3" 
} 
layer { 
    name: "conv4" 
    type: "Convolution" 
    bottom: "conv3" 
    top: "conv4" 
    param 
    { 
    lr_mult: 1 
    decay_mult: 1 
    } 
    param 
    { 
    lr_mult: 2 
    decay_mult: 0 
    } 
    convolution_param 
    { 
    num_output: 384 
    pad: 1 
    kernel_size: 3 
    group: 2 
    weight_filler 
    { 
     type: "gaussian" 
     std: 0.01 
    } 
    bias_filler 
    { 
     type: "constant" 
     value: 1 
    } 
    } 
} 
layer { 
    name: "relu4" 
    type: "ReLU" 
    bottom: "conv4" 
    top: "conv4" 
} 
layer { 
    name: "conv5" 
    type: "Convolution" 
    bottom: "conv4" 
    top: "conv5" 
    param 
    { 
    lr_mult: 1 
    decay_mult: 1 
    } 
    param 
    { 
    lr_mult: 2 
    decay_mult: 0 
    } 
    convolution_param { 
    num_output: 256 
    pad: 1 
    kernel_size: 3 
    group: 2 
    weight_filler { 
     type: "gaussian" 
     std: 0.01 
    } 
    bias_filler { 
     type: "constant" 
     value: 1 
    } 
    } 
} 
layer { 
    name: "relu5" 
    type: "ReLU" 
    bottom: "conv5" 
    top: "conv5" 
} 
layer { 
    name: "pool5" 
    type: "Pooling" 
    bottom: "conv5" 
    top: "pool5" 
    pooling_param { 
    pool: MAX 
    kernel_size: 3 
    stride: 2 
    } 
} 
layer { 
    name: "fc6" 
    type: "InnerProduct" 
    bottom: "pool5" 
    top: "fc6" 
    param 
    { 
    lr_mult: 1 
    decay_mult: 1 
    } 
    param 
    { 
    lr_mult: 2 
    decay_mult: 0 
    } 
    inner_product_param { 
    num_output: 4096 
    weight_filler { 
     type: "gaussian" 
     std: 0.005 
    } 
    bias_filler { 
     type: "constant" 
     value: 1 
    } 
    } 
} 
layer { 
    name: "relu6" 
    type: "ReLU" 
    bottom: "fc6" 
    top: "fc6" 
} 
layer { 
    name: "drop6" 
    type: "Dropout" 
    bottom: "fc6" 
    top: "fc6" 
    dropout_param { 
    dropout_ratio: 0.5 
    } 
} 
layer { 
    name: "fc7" 
    type: "InnerProduct" 
    bottom: "fc6" 
    top: "fc7" 
    param { 
    lr_mult: 1 
    decay_mult: 1 
    } 
    param { 
    lr_mult: 2 
    decay_mult: 0 
    } 
    inner_product_param { 
    num_output: 4096 
    weight_filler { 
     type: "gaussian" 
     std: 0.005 
    } 
    bias_filler { 
     type: "constant" 
     value: 1 
    } 
    } 
} 
layer { 
    name: "relu7" 
    type: "ReLU" 
    bottom: "fc7" 
    top: "fc7" 
} 
layer { 
    name: "drop7" 
    type: "Dropout" 
    bottom: "fc7" 
    top: "fc7" 
    dropout_param { 
    dropout_ratio: 0.5 
    } 
} 
layer { 
    name: "fc8" 
    type: "InnerProduct" 
    bottom: "fc7" 
    top: "fc8" 
    param { 
    lr_mult: 1 
    decay_mult: 1 
    } 
    param { 
    lr_mult: 2 
    decay_mult: 0 
    } 
    inner_product_param { 
    num_output: 1000 
    weight_filler { 
     type: "gaussian" 
     std: 0.01 
    } 
    bias_filler { 
     type: "constant" 
     value: 0 
    } 
    } 
} 
layer { 
    name: "accuracy" 
    type: "Accuracy" 
    bottom: "fc8" 
    bottom: "label" 
    top: "accuracy" 
    include { 
    phase: TEST 
    } 
} 
layer { 
    name: "loss" 
    type: "SoftmaxWithLoss" 
    bottom: "fc8" 
    bottom: "label" 
    top: "loss" 
} 

sovler.prototxt

net: "/home/pris/caffe-master/examples/myself/train_val.prototxt" 
test_iter: 10 
test_interval: 500 
base_lr: 0.001 
lr_policy: "step" 
gamma: 0.1 
stepsize: 100000 
display: 20 
max_iter: 450000 
momentum: 0.9 
weight_decay: 0.0005 
snapshot: 2000 
snapshot_prefix:"/home/pris/caffe-master/examples/myself/result" 
solver_mode: GPU 

train_caffenet.shに1から変更されていますそれ。

答えて

1

leveldbデータベースからトレーニングデータを読み込んでいるので、タイプ"Data"およびではなく、"ImageData"の入力レイヤーを使用する必要があります。

+1

ImageDataをDataに、image_data_paramをdata_paramに変更しています。本当にありがとうございます! – StalkerMuse

関連する問題