code: def save(self, hyperparams, test_mrr, validation_mrr):
      result = {
          "test_mrr": test_mrr,
          "validation_mrr": validation_mrr,
          "hash": self._hash(hyperparams),
      }
      result.update(hyperparams)
  
      with open(self._filename, "a+") as out:
          out.write(json.dumps(result) + "\n")
  
imports: import hashlib
  import json
  import os
  import shutil
  import sys
  import numpy
  from sklearn.model_selection import ParameterSampler
  from spotlight.datasets.movielens import get_movielens_dataset
  from spotlight.cross_validation import user_based_train_test_split
  from spotlight.sequence.implicit import ImplicitSequenceModel
  from spotlight.sequence.representations import CNNNet
  from spotlight.evaluation import sequence_mrr_score
label_desc: Use image node_id 3 for calling the Results obj's underlying member method code with example usage: obj.save(hyperparams, test_mrr, validation_mrr) without return types