parameters: (first_model, second_model)
return_statement: return union
docstring: Return the union of CompressedModel models
      :return CompressedModel instance - union of first_model and second_model
docstring_summary: Return the union of CompressedModel models
      :return CompressedModel instance - union of first_model and second_model
docstring_tokens: Return the union of CompressedModel models : return CompressedModel instance - union of first_model and second_model
function: def models_union(first_model, second_model):
      """ Return the union of CompressedModel models
      :return CompressedModel instance - union of first_model and second_model
      """
      union = first_model
      union_models = union.models
      for model_dict, model_dict_2, union_dict in zip(first_model.models, second_model.models, union_models):
          model_1 = model_dict['model']
          model_2 = model_dict_2['model']
          union_dict['model'] = nx.union(model_1, model_2)
          union_dict['model'].graph.update(model_1.graph)
          union_dict['model'].graph.update(model_2.graph)
      return union
function_tokens: def models_union ( first_model , second_model ) : union = first_model union_models = union . models for model_dict , model_dict_2 , union_dict in zip ( first_model . models , second_model . models , union_models ) : model_1 = model_dict [ 'model' ] model_2 = model_dict_2 [ 'model' ] union_dict [ 'model' ] = nx . union ( model_1 , model_2 ) union_dict [ 'model' ] . graph . update ( model_1 . graph ) union_dict [ 'model' ] . graph . update ( model_2 . graph ) return union