diff --git a/python/paddle/framework/io.py b/python/paddle/framework/io.py index ef440ac253b59f6dfca149e1b9dc6bc7a3bc4d8b..4c0f7e52c0266606dd8dabafccee57ac3cb3f608 100644 --- a/python/paddle/framework/io.py +++ b/python/paddle/framework/io.py @@ -1071,11 +1071,18 @@ def load(path, **configs): # paddle2.0: paddle.save/load if "StructuredToParameterName@@" in load_result: - for key in load_result["StructuredToParameterName@@"]: + for (key, name) in load_result[ + "StructuredToParameterName@@" + ].items(): if isinstance(load_result[key], np.ndarray): load_result[key] = _ndarray_to_tensor( load_result[key], config.return_numpy ) + # default name is "generated_xxx" which is set in Tensor init, if not set + if not config.return_numpy and getattr( + load_result[key], "name", "" + ): + load_result[key].name = name if ( not config.keep_name_table