Browse Source

!31525 solve the bug of layer norm epsilon val is const

Merge pull request !31525 from zong_shuai/layer_norm_debug
r1.7
i-robot Gitee 4 years ago
parent
commit
faeeca1d3d
No known key found for this signature in database GPG Key ID: 173E9B9CA92EEF8F
1 changed files with 4 additions and 3 deletions
  1. +4
    -3
      mindspore/ccsrc/plugin/device/gpu/kernel/nn/layer_norm_gpu_kernel.h

+ 4
- 3
mindspore/ccsrc/plugin/device/gpu/kernel/nn/layer_norm_gpu_kernel.h View File

@@ -42,8 +42,7 @@ class LayerNormGpuKernelMod : public NativeGpuKernelMod {
auto mean = GetDeviceAddress<T>(outputs, 1);
auto variance = GetDeviceAddress<T>(outputs, 2);

const T epsilon = 10e-12;
LayerNorm(input_row_, input_col_, param_dim_, epsilon, x, gamma, beta, y, mean, variance,
LayerNorm(input_row_, input_col_, param_dim_, epsilon_, x, gamma, beta, y, mean, variance,
reinterpret_cast<cudaStream_t>(stream_ptr));
return true;
}
@@ -52,7 +51,7 @@ class LayerNormGpuKernelMod : public NativeGpuKernelMod {
kernel_node_ = kernel_node;
int begin_norm_axis = static_cast<int>(GetAttr<int64_t>(kernel_node, "begin_norm_axis"));
int begin_params_axis = static_cast<int>(GetAttr<int64_t>(kernel_node, "begin_params_axis"));
epsilon_ = static_cast<T>(GetAttr<float>(kernel_node, "epsilon"));
auto input_shape = common::AnfAlgo::GetPrevNodeOutputInferShape(kernel_node, 0);
is_null_input_ = CHECK_SHAPE_NULL(input_shape, kernel_name, "input_x");
if (is_null_input_) {
@@ -92,6 +91,7 @@ class LayerNormGpuKernelMod : public NativeGpuKernelMod {
input_row_ = 1;
input_col_ = 1;
param_dim_ = 1;
epsilon_ = 1e-7;
is_null_input_ = false;
input_size_list_.clear();
output_size_list_.clear();
@@ -114,6 +114,7 @@ class LayerNormGpuKernelMod : public NativeGpuKernelMod {
int input_col_;
int param_dim_;
bool is_null_input_;
T epsilon_;
};
} // namespace kernel
} // namespace mindspore


Loading…
Cancel
Save