Thanks.
I thought that model.parameters() returned a copy of weights.
I solved the issue by creating an empty base_weights list and appended the individual parameter weight data. However, your method seems more compact and wouldn’t require the cuda() method to be called on the weights
  # base model weights
    self.base_weights = list()
    for param in self.classifier.parameters():
        self.base_weights.append(param.data.cuda())