Skip overridable initializer fusion (#32143)
This pull request updates the logic for determining whether a node's
input is a valid initializer for fusion and adds a new unit test to
ensure that initializers which can be overridden (i.e., initializers
that are also graph inputs) are properly skipped during fusion. The main
changes are:
### Logic Update
* In `IsNodeValidForFusion`, the check for a valid initializer now uses
`graph_utils::GetConstantInitializer`, ensuring that only constant
initializers (not those that can be overridden by graph inputs) are
considered valid for fusion.
### Testing Improvements
* Added a new test, `FuseInitializersSkipsOverridableInitializer`, to
verify that the transformer skips fusion for initializers that are also
graph inputs and can be overridden. This test ensures the fusion
transformation does not incorrectly modify such initializers.
* Included the `graph_transform_test_builder.h` header to support the
new test.