Ensures consistent serialization for Functional model #21341
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Related issues: #21328
Previous fix: #20993
Original Bug
inputs=[[input_a]]
) would have their structure flattened after a serialization round-trip.inputs=input_a
) would have itsmodel.input
type change fromKerasTensor
to list upon loading.The root cause was that the serialization format was ambiguous. It represented both a single tensor and a list containing one tensor identically.
Fix
This change makes the serialization format unambiguous. The logic in
get_config
is updated to:KerasTensor
input/output as a direct pointer.