回答

1

您可以使用常规的"Convolution"图层来处理任何维度的斑点。你只需要关注的参数:

layer { 
    type: "Convolution" 
    name: "conv_nd" 
    bottom: "in" # 5D blob 
    too: "out" 
    convolution_param { 
    kernel_size: 3 
    kernel_size: 5 
    kernel_size: 5 # define 3 by 5 by 5 kernel 

    pad: 1 
    pad: 2 
    pad: 2 # pad according to kernel size 

    stride: 1 
    stride: 2 
    stride: 2 # you can have different stride for different dimensions 

    axis: 1 # the "channel" dimension 
    num_output: 30 # output 30 dim per 3D voxel 
    } 
} 

欲了解更多信息,请阅读卷积PARAM评论中caffe.proto file

+0

'3乘5乘5'='深度乘高度乘宽度'我对吗? @Shai – thigi

+0

@thigi坦率地说,我不是100%确定这里的维度顺序。你可能需要试一试。 – Shai

+0

@Shai:谢谢,所以告诉我,如果我是对的。假设我有5个200x200彩色框架用于输入,并且我的第一个conv层有10个输出(num_output)。 Conv3D是如何发生的?与普通的Conv2D相比,在输入上应用了一个内核,给出了一个新的featuremap.so在conv2d中,我们将有10个特征映射。 在Conv3D中,每个内核应用于每个帧,为每个内核创建一个特征映射,结果堆叠在一起。所以第一层的结束输出将会是10 * 7个特征地图? – Breeze

相关问题