code: def _unsupervised_model_save_test(model_filepath, save_fn, load_fn):
      model = Ivis(k=15, batch_size=16, epochs=2)
      iris = datasets.load_iris()
      X = iris.data
  
      model.fit(X)
      save_fn(model, model_filepath)
      model_2 = load_fn(model_filepath)
  
      # Check that model predictions are same
      assert np.all(model.transform(X) == model_2.transform(X))
      _validate_network_equality(model, model_2)
  
      # Train new model
      y_pred_2 = model_2.fit_transform(X)
  
imports: import os
  import tempfile
  import pytest
  import pickle
  import dill
  from functools import partial
  from sklearn import datasets
  import numpy
  import tensorflow
  from ivis import Ivis
label_desc: Use image node_id 3 for calling a global function with example usage: _unsupervised_model_save_test(model_filepath, save_fn, load_fn) without return types