提交 0b7de696 编写于 作者: Z zhaojichen

Add Group Normalization

上级 898acc32
......@@ -346,7 +346,7 @@ class GroupNorm(Cell):
self.sqrt = P.Sqrt()
def construct(self, x):
batch, channel, height,width = self.shape(x)
batch, channel, height, width = self.shape(x)
x = self.reshape(x, (batch, self.num_groups, channel*height*width/self.num_groups))
mean = self.reduce_mean(x, 2)
var = self.reduce_sum(self.square(x - mean), 2) / (channel * height * width / self.num_groups - 1)
......@@ -359,4 +359,4 @@ class GroupNorm(Cell):
def extend_repr(self):
"""Display instance object as string."""
s = 'num_groups={}, num_channels={}'.format(self.num_groups, self.num_channels)
return s
\ No newline at end of file
return s
......@@ -67,4 +67,4 @@ class GroupNet(nn.Cell):
def test_compile_groupnorm():
net = nn.GroupNorm(16, 64)
input_data = Tensor(np.random.rand(1,64,256,256).astype(np.float32))
_executor.compile(net, input_data)
\ No newline at end of file
_executor.compile(net, input_data)
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册