pytorch2caffe

大多借鉴于:https://github.com/starimeL/PytorchConverter

但由于原作者不是基于ssd caffe,有少许需要改动,主要是增加permute层

使用作者这个源码进行转换,若caffe源环境不同,需要:

1\编译好自己使用的caffe,如ssd caffe,然后将caffe_pb2.py对源码进行替换。

2\参考ConvertLayer_caffe.py中别的层实现方式,实现permute层:

def Permute(pytorch_layer):
    layer = pb2.LayerParameter()
    layer.type = 'Permute'
    assert len(pytorch_layer.rev_dim_indices) == 4, len(pytorch_layer.rev_dim_indices)
    assert pytorch_layer.rev_dim_indices[0] == 0, pytorch_layer.rev_dim_indices[0]
    layer.permute_param.order.extend([0,2,3,1])
    return layer

并在def build_converter(opts):中增加

3\更改别的numpy()为.cpu().numpy()

 

PS.环境:

python3 pytorch 0.2.0

caffe需要支持使用层的源

注意torchvision版本

pip3 install torchvision==0.2.0

你可能感兴趣的:(pytorch2caffe)