diff --git a/x2paddle/optimizer/fusion/trace_fc_fuser.py b/x2paddle/optimizer/fusion/trace_fc_fuser.py index dc752ec0a96028a95d0f69486a77fb3c75554bae..cd2a977249b6dcb23aaffda6a2420d03023a8540 100644 --- a/x2paddle/optimizer/fusion/trace_fc_fuser.py +++ b/x2paddle/optimizer/fusion/trace_fc_fuser.py @@ -113,10 +113,11 @@ class TraceFcFuser(FuseBase): attrs["out_features"] = parameters[weight_name].shape[0] linear_name = "linear{}".format(self.linear_index) self.linear_index += 1 - parameters["{}.weight".format(linear_name)] = parameters[ - weight_name].transpose((1, 0)) - parameters["{}.bias".format(linear_name)] = np.squeeze(parameters[ - bias_name]) + weight_numpy = parameters.pop(weight_name) + parameters["{}.weight".format(linear_name)] = weight_numpy.transpose( + (1, 0)) + bias_numpy = parameters.pop(bias_name) + parameters["{}.bias".format(linear_name)] = np.squeeze(bias_numpy) new_layer = PaddleLayer( layers_id[0], "paddle.nn.Linear",