Ejemplo n.º 1
0
 def __init__(self, in_nchannel, out_nchannel, D):
     ME.MinkowskiNetwork.__init__(self, D)
     channels = [in_nchannel, 16, 32]
     self.net = nn.Sequential(
         ME.MinkowskiStackSum(
             ME.MinkowskiConvolution(
                 channels[0],
                 channels[1],
                 kernel_size=3,
                 stride=1,
                 dimension=D,
             ),
             nn.Sequential(
                 ME.MinkowskiConvolution(
                     channels[0],
                     channels[1],
                     kernel_size=3,
                     stride=2,
                     dimension=D,
                 ),
                 ME.MinkowskiStackSum(
                     nn.Identity(),
                     nn.Sequential(
                         ME.MinkowskiConvolution(
                             channels[1],
                             channels[2],
                             kernel_size=3,
                             stride=2,
                             dimension=D,
                         ),
                         ME.MinkowskiConvolutionTranspose(
                             channels[2],
                             channels[1],
                             kernel_size=3,
                             stride=1,
                             dimension=D,
                         ),
                         ME.MinkowskiPoolingTranspose(
                             kernel_size=2, stride=2, dimension=D
                         ),
                     ),
                 ),
                 ME.MinkowskiPoolingTranspose(kernel_size=2, stride=2, dimension=D),
             ),
         ),
         ME.MinkowskiToFeature(),
         nn.Linear(channels[1], out_nchannel, bias=True),
     )