Skip to content

Commit 091612a

Browse files
author
Dusan Malic
committed
Added LayerNorm implementation.
1 parent f79df70 commit 091612a

File tree

2 files changed

+24
-0
lines changed

2 files changed

+24
-0
lines changed

torchsparse/nn/modules/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,4 @@
33
from .conv import *
44
from .pooling import *
55
from .detection import *
6+
from .layernorm import *
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
from torch import nn
2+
3+
from torchsparse.sparse_tensor import *
4+
5+
__all__ = ['LayerNorm']
6+
7+
8+
class LayerNorm(nn.LayerNorm):
9+
def __init__(self,
10+
normalized_shape,
11+
eps=1e-05,
12+
elementwise_affine=True):
13+
super().__init__(normalized_shape, eps=eps, elementwise_affine=elementwise_affine)
14+
15+
def forward(self, inputs):
16+
features = inputs.F
17+
coords = inputs.C
18+
cur_stride = inputs.s
19+
output_features = super().forward(features)
20+
output_tensor = SparseTensor(output_features, coords, cur_stride)
21+
output_tensor.coord_maps = inputs.coord_maps
22+
output_tensor.kernel_maps = inputs.kernel_maps
23+
return output_tensor

0 commit comments

Comments
 (0)