code: def test_implicit_serialization(data):
      train, test = data
  
      model = ImplicitFactorizationModel(
          loss="bpr",
          n_iter=3,
          batch_size=1024,
          learning_rate=1e-2,
          l2=1e-6,
          use_cuda=CUDA,
      )
      model.fit(train)
  
      mrr_original = mrr_score(model, test, train=train).mean()
      mrr_recovered = mrr_score(
          _reload(model), test, train=train
      ).mean()
  
      assert mrr_original == mrr_recovered
  
file_path: spotlight/tests/test_serialization.py
imports: import os
  import shutil
  import tempfile
  import numpy
  import pytest
  import torch
  from spotlight.cross_validation import random_train_test_split
  from spotlight.datasets import movielens
  from spotlight.evaluation import mrr_score, sequence_mrr_score
  from spotlight.evaluation import rmse_score
  from spotlight.factorization.explicit import ExplicitFactorizationModel
  from spotlight.factorization.implicit import ImplicitFactorizationModel
  from spotlight.sequence.implicit import ImplicitSequenceModel
  from spotlight.sequence.representations import CNNNet
label_desc: Use image node_id 4 for calling a global function with example usage: test_implicit_serialization(data) without return types