code: def test_explicit_serialization(data):
      train, test = data
  
      model = ExplicitFactorizationModel(
          loss="regression",
          n_iter=3,
          batch_size=1024,
          learning_rate=1e-3,
          l2=1e-5,
          use_cuda=CUDA,
      )
      model.fit(train)
  
      rmse_original = rmse_score(model, test)
      rmse_recovered = rmse_score(_reload(model), test)
  
      assert rmse_original == rmse_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 3 for calling a global function with example usage: test_explicit_serialization(data) without return types