ChenYingpeng / darknet2caffe

Convert darknet weights to caffemodel
183 stars 88 forks source link

yolov3-spp.cfg转为caffe的时候报错:Error parsing text-format caffe.NetParameter: 2447:14: Expected integer. #9

Open yll1 opened 4 years ago

yll1 commented 4 years ago

你好,非常感谢您分享这个方法。用您的方法,我成功的将yolov3.cfg 和yolov3.weights转为对应的caffe文件。但是我在转换yolov3-spp.cfg 时,出错了。 我的系统是ubuntu16.4,cuda10,python3.5. 我运行的转换命令如下: python darknet2caffe.py cfg/yolov3-spp.cfg weights/yolov3-spp.weights 16/yolov3-spp.prototxt 16/yolov3-spp.caffemodel 出的错误如下:

unknow layer type yolo 
[libprotobuf ERROR google/protobuf/text_format.cc:274] Error parsing text-format caffe.NetParameter: 2447:14: Expected integer.
WARNING: Logging before InitGoogleLogging() is written to STDERR
F0520 14:06:03.818563 26556 upgrade_proto.cpp:90] Check failed: ReadProtoFromTextFile(param_file, param) Failed to parse NetParameter file: 16/yolov3-spp.prototxt
*** Check failure stack trace: ***
已放弃 (核心已转储)

这个是生成的yolov3-spp.prototxt文件的第2447:14行,如下所示。



layer {
    bottom: "layer78-conv"
    top: "layer78-conv"
    name: "layer78-act"
    type: "ReLU"
    relu_param {
        negative_slope: 0.1
    }
}
layer {
    bottom: "layer78-conv"
    top: "layer79-maxpool"
    name: "layer79-maxpool"
    type: "Pooling"
    pooling_param {
        stride: 1
        pool: MAX
        kernel_size: 5
        pad: 2.0 ##这个是2447行,这一行报错,但是我对比了您给出的yolov3-spp.prototxt文件没有发现有什么不同。
    }
}
layer {
    bottom: "layer78-conv"
    top: "layer80-route"
    name: "layer80-route"
    type: "Concat"
}
layer {
    bottom: "layer80-route"
    top: "layer81-maxpool"
    name: "layer81-maxpool"
    type: "Pooling"
    pooling_param {
        stride: 1
        pool: MAX
        kernel_size: 9
        pad: 4.0
    }
}

这个问题能帮忙看看怎么解决吗?非常感谢.
becauseofAI commented 4 years ago

@yll1 @ChenYingpeng We have fixed the bug with PR.

yll1 commented 3 years ago

@yll1 @ChenYingpeng We have fixed the bug with PR.

thank you,I'll try it