计算输入input的组归一化结果out、均值meanOut、标准差的倒数rstdOut、以及silu的输出。
torch_npu.npu_group_norm_silu(Tensor input, Tensor weight, Tensor bias, int group, float eps) -> (Tensor, Tensor, Tensor)
单算子调用:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | import torch import numpy as np import torch_npu dtype = np.float32 shape_x = [24,320,48,48] num_groups = 32 shape_c = [320] eps = 0.00001 x_npu=torch.randn(shape_x,dtype=torch.float32).npu() gamma_npu=torch.randn(shape_c,dtype=torch.float32).npu() beta_npu=torch.randn(shape_c,dtype=torch.float32).npu() out_npu, mean_npu, rstd_out = torch_npu.npu_group_norm_silu(x_npu, gamma_npu, beta_npu, group=num_groups, eps=eps) x_npu=torch.randn(shape_x,dtype=torch.bfloat16).npu() gamma_npu=torch.randn(shape_c,dtype=torch.bfloat16).npu() beta_npu=torch.randn(shape_c,dtype=torch.bfloat16).npu() out_npu, mean_npu, rstd_out = torch_npu.npu_group_norm_silu(x_npu, gamma_npu, beta_npu, group=num_groups, eps=eps) x_npu=torch.randn(shape_x,dtype=torch.float16).npu() gamma_npu=torch.randn(shape_c,dtype=torch.float16).npu() beta_npu=torch.randn(shape_c,dtype=torch.float16).npu() out_npu, mean_npu, rstd_out = torch_npu.npu_group_norm_silu(x_npu, gamma_npu, beta_npu, group=num_groups, eps=eps) |