Closed jiuerbujie closed 7 years ago
Hi @jiuerbujie, yep, that should do it! The last two functions of CaffeConv
should look like this:
def toMatlab(self):
size = self.kernel_size + [self.filter_depth, self.num_output]
mlayer = super(CaffeConv, self).toMatlab()
mlayer['type'][0] = u'dagnn.Conv'
mlayer['block'][0] = dictToMatlabStruct(
{'hasBias': self.bias_term,
'size': row(size),
'pad': row(self.pad),
'stride': row(self.stride),
'dilate': row(self.dilation)})
return mlayer
def toMatlabSimpleNN(self):
size = self.kernel_size + [self.filter_depth, self.num_output]
mlayer = super(CaffeConv, self).toMatlabSimpleNN()
mlayer['type'] = u'conv'
mlayer['weights'] = np.empty([1,len(self.params)], dtype=np.object)
mlayer['size'] = row(size)
mlayer['pad'] = row(self.pad)
mlayer['stride'] = row(self.stride)
mlayer['dilate'] = row(self.dilation)
for p, name in enumerate(self.params):
mlayer['weights'][0,p] = self.model.params[name].toMatlabSimpleNN()
return mlayer
Hi, all
When I tried to import deeplab to Matconvnet, I found that dilate attribute is not save to mat file, even though it is already read from prototxt.
You can see
display
function of classCaffeConv
in file utils/layers.py , that dilation is already read.However, it is not save to mat, see
toMatlab
function ofCaffeConv
Can I just add a line to
toMatlab
to write dilate attribute, or more modification must be made?