我实现了DeformableConvolution,它是caffe中一种新的卷积层。它与BaseConvolution类一样继承,就像ConvolutionLayer一样,并且与convolution具有相同的参数。
现在我可以使用./build/tools/caffe XXX
来训练和测试net包含这个新层的预期。但是当我使用pycaffe来可视化特征时。它出现了这个错误。
pycaffe命令:
caffe.set_mode_gpu()
net = caffe.Net(‘mnist/mnist.prototxt',
‘models/mnist_iter_5000.caffemodel',
caffe.TEST)
错误:
layer_factory.hpp:81] Check failed: registry.count(type) == 1 (0 vs. 1)
Unknown layer type: DeformableConvolution
我搜索了它,发现它主要是由于caffe.proto
和layer_factory.cpp
中缺少的代码造成的。由于该层与普通卷积层具有相同的参数,我不知道应该如何处理这两个文件。它可以按./build/tools/caffe
的预期进行训练,所以我想知道这是否只是由与pycaffe相关的东西引起的?
图层演示:
layer {
name: "conv11"
type: "DeformableConvolution"
bottom: "data"
bottom: "conv11_offset"
top: "conv11"
param {
lr_mult: 0
}
convolution_param {
num_output: 32
kernel_size: 3
stride: 1
dilation: 1
pad: 1
}
}