MCPcopy Create free account
hub / github.com/ADLab-AutoDrive/BEVFusion / __init__

Method __init__

mmdet3d/ops/spconv/conv.py:50–104  ·  view source on GitHub ↗
(self,
                 ndim,
                 in_channels,
                 out_channels,
                 kernel_size=3,
                 stride=1,
                 padding=0,
                 dilation=1,
                 groups=1,
                 bias=True,
                 subm=False,
                 output_padding=0,
                 transposed=False,
                 inverse=False,
                 indice_key=None,
                 fused_bn=False)

Source from the content-addressed store, hash-verified

48class SparseConvolution(SparseModule):
49
50 def __init__(self,
51 ndim,
52 in_channels,
53 out_channels,
54 kernel_size=3,
55 stride=1,
56 padding=0,
57 dilation=1,
58 groups=1,
59 bias=True,
60 subm=False,
61 output_padding=0,
62 transposed=False,
63 inverse=False,
64 indice_key=None,
65 fused_bn=False):
66 super(SparseConvolution, self).__init__()
67 assert groups == 1
68 if not isinstance(kernel_size, (list, tuple)):
69 kernel_size = [kernel_size] * ndim
70 if not isinstance(stride, (list, tuple)):
71 stride = [stride] * ndim
72 if not isinstance(padding, (list, tuple)):
73 padding = [padding] * ndim
74 if not isinstance(dilation, (list, tuple)):
75 dilation = [dilation] * ndim
76 if not isinstance(output_padding, (list, tuple)):
77 output_padding = [output_padding] * ndim
78
79 for d, s in zip(dilation, stride):
80 assert any([s == 1, d == 1]), "don't support this."
81
82 self.ndim = ndim
83 self.in_channels = in_channels
84 self.out_channels = out_channels
85 self.kernel_size = kernel_size
86 self.conv1x1 = np.prod(kernel_size) == 1
87 self.stride = stride
88 self.padding = padding
89 self.dilation = dilation
90 self.transposed = transposed
91 self.inverse = inverse
92 self.output_padding = output_padding
93 self.groups = groups
94 self.subm = subm
95 self.indice_key = indice_key
96 self.fused_bn = fused_bn
97
98 self.weight = Parameter(
99 torch.Tensor(*kernel_size, in_channels, out_channels))
100 if bias:
101 self.bias = Parameter(torch.Tensor(out_channels))
102 else:
103 self.register_parameter('bias', None)
104 self.reset_parameters()
105
106 def reset_parameters(self):
107 init.kaiming_uniform_(self.weight, a=math.sqrt(5))

Callers

nothing calls this directly

Calls 2

reset_parametersMethod · 0.95
__init__Method · 0.45

Tested by

no test coverage detected