code: def make_keras_picklable():
      def __reduce__(self):
          model_metadata = saving_utils.model_metadata(self)
          training_config = model_metadata.get("training_config", None)
          model = serialize(self)
          weights = self.get_weights()
          return (unpack, (model, training_config, weights))
  
      cls = Model
      cls.__reduce__ = __reduce__
  
file_path: TextAttack/examples/attack/attack_keras_parallel.py
imports: import numpy
  import tensorflow
  from tensorflow.keras.layers import Dense, Dropout
  from tensorflow.keras.models import Model, Sequential
  from tensorflow.keras.utils import to_categorical
  from tensorflow.python.keras.layers import deserialize, serialize
  from tensorflow.python.keras.saving import saving_utils
  import torch
  from textattack import AttackArgs, Attacker
  from textattack.attack_recipes import PWWSRen2019
  from textattack.datasets import HuggingFaceDataset
  from textattack.models.wrappers import ModelWrapper
label_desc: Use image node_id 2 for calling a global function with example usage: make_keras_picklable() and returns: unpack,  model,  training_config,  weights