input
w = pd.get(0, 0);
h = pd.get(1, 0);
c = pd.get(2, 0);
convolution
num_output = pd.get(0, 0);
kernel_w = pd.get(1, 0);
kernel_h = pd.get(11, kernel_w);
dilation_w = pd.get(2, 1);
dilation_h = pd.get(12, dilation_w);
stride_w = pd.get(3, 1);
stride_h = pd.get(13, stride_w);
pad_w = pd.get(4, 0);
pad_h = pd.get(14, pad_w);
bias_term = pd.get(5, 0);
weight_data_size = pd.get(6, 0);
softmax
axis = pd.get(0, 0);
............................
Tensor mtcnn 转ncnn
#Rnet
7767517
35 36 # 35 layer 36 blob (输出和)
Input input 0 1 data 0=1 1=24 2=24 #反的
Convolution conv_1 1 1 data conv_1 0=16 1=3 2=1 3=1 4=-233 5=0 6=144 # 1x3x3x16
BatchNorm conv_1_bn 1 1 conv_1 conv_1_bn 0=16
ReLU conv_1_Relu 1 1 conv_1_bn conv_1_Relu
ConvolutionDepthWise conv2_1_dw 1 1 conv_1_Relu conv2_1_dw 0=16 1=3 2=1 3=2 4=-233 5=0 6=144 7=16 # 16x3x3
BatchNorm conv2_1_dw_bn 1 1 conv2_1_dw conv2_1_dw_bn 0=16
ReLU relu2_1_dw 1 1 conv2_1_dw_bn relu2_1_dw
Convolution conv2_1_sep 1 1 relu2_1_dw conv2_1_sep 0=32 1=1 2=1 3=1 4=-233 5=0 6=512 # 6: 16x1x1x32
BatchNorm conv2_1_sep_bn 1 1 conv2_1_sep conv2_1_sep_bn 0=32
ReLU relu2_1_sep 1 1 conv2_1_sep_bn relu2_1_sep
ConvolutionDepthWise conv2_2_dw 1 1 relu2_1_sep conv2_2_dw 0=32 1=3 2=1 3=2 4=-233 5=0 6=288 7=32 # 32x3x3
BatchNorm conv2_2_dw_bn 1 1 conv2_2_dw conv2_2_dw_bn 0=32
ReLU relu2_2_dw 1 1 conv2_2_dw_bn relu2_2_dw
Convolution conv2_2_sep 1 1 relu2_2_dw conv2_2_sep 0=64 1=1 2=1 3=1 4=-233 5=0 6=1024
BatchNorm conv2_2_sep_bn 1 1 conv2_2_sep conv2_2_sep_bn 0=64
ReLU relu2_2_sep 1 1 conv2_2_sep_bn relu2_2_sep
ConvolutionDepthWise conv3_1_dw 1 1 relu2_2_sep conv3_1_dw 0=64 1=3 2=1 3=2 4=-233 5=0 6=576 7=64
BatchNorm conv3_1_dw_bn 1 1 conv3_1_dw conv3_1_dw_bn 0=64
ReLU relu3_1_dw 1 1 conv3_1_dw_bn relu3_1_dw
Convolution conv3_1_sep 1 1 relu3_1_dw conv3_1_sep 0=64 1=1 2=1 3=1 4=-233 5=0 6=4096
BatchNorm conv3_1_sep_bn 1 1 conv3_1_sep conv3_1_sep_bn 0=64
ReLU relu3_1_sep 1 1 conv3_1_sep_bn relu3_1_sep
ConvolutionDepthWise conv3_2_dw 1 1 relu3_1_sep conv3_2_dw 0=64 1=3 2=1 3=2 4=-233 5=0 6=576 7=64
BatchNorm conv3_2_dw_bn 1 1 conv3_2_dw conv3_2_dw_bn 0=64
ReLU relu3_2_dw 1 1 conv3_2_dw_bn relu3_2_dw
Convolution conv3_2_sep 1 1 relu3_2_dw conv3_2_sep 0=128 1=1 2=1 3=1 4=-233 5=0 6=4096
BatchNorm conv3_2_sep_bn 1 1 conv3_2_sep conv3_2_sep_bn 0=128
ReLU relu3_2_sep 1 1 conv3_2_sep_bn relu3_2_sep
Pooling pool6 1 1 relu3_2_sep pool6 0=1 1=0 2=1 3=0 4=1
InnerProduct fc6 1 1 pool6 fc6 0=256 1=1 2=32768
ReLU relu3_3_sep 1 1 fc6 relu3_3_sep
Split splitncnn_0 1 2 relu3_3_sep conv4_relu3_splitncnn_0 conv4_relu3_splitncnn_1 #两个输出
InnerProduct fc7 1 1 conv4_relu3_splitncnn_0 fc7 0=2 1=1 2=512
InnerProduct fc8 1 1 conv4_relu3_splitncnn_1 fc8 0=4 1=1 2=1024
Softmax prob1 1 1 fc7 prob1 0=0
#Pnet
7767517
12 13
Input data 0 1 data 0=1 1=12 2=12 #反的
Convolution conv1 1 1 data conv1 0=10 1=3 2=1 3=1 4=0 5=1 6=90
PReLU PReLU1 1 1 conv1 conv1_PReLU1 0=10
Pooling pool1 1 1 conv1_PReLU1 pool1 0=0 1=2 2=2 3=0 4=0
Convolution conv2 1 1 pool1 conv2 0=16 1=3 2=1 3=1 4=0 5=1 6=1440
PReLU PReLU2 1 1 conv2 conv2_PReLU2 0=16
Convolution conv3 1 1 conv2_PReLU2 conv3 0=32 1=3 2=1 3=1 4=0 5=1 6=4608
PReLU PReLU3 1 1 conv3 conv3_PReLU3 0=32
Split splitncnn_0 1 2 conv3_PReLU3 conv3_PReLU3_splitncnn_0 conv3_PReLU3_splitncnn_1
Convolution conv4-1 1 1 conv3_PReLU3_splitncnn_1 conv4-1 0=2 1=1 2=1 3=1 4=0 5=1 6=64
Convolution conv4-2 1 1 conv3_PReLU3_splitncnn_0 conv4-2 0=4 1=1 2=1 3=1 4=0 5=1 6=128
Softmax prob1 1 1 conv4-1 prob1 0=0