diff --git a/onnxruntime/core/optimizer/layer_norm_fusion.cc b/onnxruntime/core/optimizer/layer_norm_fusion.cc index c11bf9b1d3159..7d9b6fc9e32ff 100644 --- a/onnxruntime/core/optimizer/layer_norm_fusion.cc +++ b/onnxruntime/core/optimizer/layer_norm_fusion.cc @@ -254,12 +254,12 @@ Status LayerNormFusion::ApplyImpl(Graph& graph, bool& modified, int graph_level, layer_norm_input_defs, {}, {}, kOnnxDomain); - // Get constant "epsilon" from "Add2" node if available. Else, default value will be used. + // Get constant "epsilon" from "Add2" node if available. Else, default value will be used. const ONNX_NAMESPACE::TensorProto* tensor_proto = graph_utils::GetConstantInitializer(graph, add2_node.MutableInputDefs()[1]->Name()); if (tensor_proto != nullptr) { if (tensor_proto->data_type() == ONNX_NAMESPACE::TensorProto_DataType_FLOAT) { - const float* val = onnxruntime::make_unique(*tensor_proto)->data(); - layer_norm_node.AddAttribute("epsilon", val[0]); + auto initializer = onnxruntime::make_unique(*tensor_proto); + layer_norm_node.AddAttribute("epsilon", initializer->data()[0]); } }