@@ -1941,6 +1941,30 @@ TEST_F(GraphTransformationTests, ReluClip11Fusion) {
1941
1941
}
1942
1942
}
1943
1943
1944
+ TEST_F (GraphTransformationTests, ReluClip11FusionGHIssue9753) {
1945
+ auto model_uri = MODEL_FOLDER " fusion/relu_clip_fusion_gh_issue_9753.onnx" ;
1946
+ std::shared_ptr<Model> model;
1947
+ ASSERT_STATUS_OK (Model::Load (model_uri, model, nullptr , *logger_));
1948
+ Graph& graph = model->MainGraph ();
1949
+ std::map<std::string, int > op_to_count = CountOpsInGraph (graph);
1950
+
1951
+ // The model contains one Relu and one Clip
1952
+ ASSERT_TRUE (op_to_count[" Relu" ] == 1 );
1953
+ ASSERT_TRUE (op_to_count[" Clip" ] == 1 );
1954
+
1955
+ auto rule_transformer_L1 = std::make_unique<RuleBasedGraphTransformer>(" RuleTransformer1" );
1956
+ ASSERT_STATUS_OK (rule_transformer_L1->Register (std::make_unique<FuseReluClip>()));
1957
+ onnxruntime::GraphTransformerManager graph_transformation_mgr{5 };
1958
+ ASSERT_STATUS_OK (graph_transformation_mgr.Register (std::move (rule_transformer_L1), TransformerLevel::Level1));
1959
+ ASSERT_STATUS_OK (graph_transformation_mgr.ApplyTransformers (graph, TransformerLevel::Level1, *logger_));
1960
+
1961
+ op_to_count = CountOpsInGraph (graph);
1962
+
1963
+ // After fusion, the model only contains Clip.
1964
+ ASSERT_TRUE (op_to_count[" Relu" ] == 0 );
1965
+ ASSERT_TRUE (op_to_count[" Clip" ] == 1 );
1966
+ }
1967
+
1944
1968
// Test Reshape Fusion with 2 constant initializers for Concat inputs.
1945
1969
TEST_F (GraphTransformationTests, ReshapeFusionTest) {
1946
1970
auto model_uri = MODEL_FOLDER " fusion/reshape.onnx" ;
0 commit comments