class_docstr: Generic class for a recommender model. All recommendation models should inherit from this class.
  
  Parameters
  ----------------
  name: str, required
      Name of the recommender model.
  
  trainable: boolean, optional, default: True
      When False, the model is not trainable.
  
  verbose: boolean, optional, default: False
      When True, running logs are displayed.
  
  Attributes
  ----------
  num_users: int
      Number of users in training data.
  
  num_items: int
      Number of items in training data.
  
  total_users: int
      Number of users in training, validation, and test data.
      In other words, this includes unknown/unseen users.
  
  total_items: int
      Number of items in training, validation, and test data.
      In other words, this includes unknown/unseen items.
  
  uid_map: int
      Global mapping of user ID-index.
  
  iid_map: int
      Global mapping of item ID-index.
  
  max_rating: float
      Maximum value among the rating observations.
  
  min_rating: float
      Minimum value among the rating observations.
  
  global_mean: float
      Average value over the rating observations.
class_docstr_tok: ["Generic","class","for","a","recommender","model",".","All","recommendation","models","should","inherit","from","this","class",".","Parameters","--","--","--","--","--","--","--","--","name",":","str",",","required","Name","of","the","recommender","model",".","trainable",":","boolean",",","optional",",","default",":","True","When","False",",","the","model","is","not","trainable",".","verbose",":","boolean",",","optional",",","default",":","False","When","True",",","running","logs","are","displayed",".","Attributes","--","--","--","--","--","num_users",":","int","Number","of","users","in","training","data",".","num_items",":","int","Number","of","items","in","training","data",".","total_users",":","int","Number","of","users","in","training",",","validation",",","and","test","data",".","In","other","words",",","this","includes","unknown\/unseen","users",".","total_items",":","int","Number","of","items","in","training",",","validation",",","and","test","data",".","In","other","words",",","this","includes","unknown\/unseen","items",".","uid_map",":","int","Global","mapping","of","user","ID-index",".","iid_map",":","int","Global","mapping","of","item","ID-index",".","max_rating",":","float","Maximum","value","among","the","rating","observations",".","min_rating",":","float","Minimum","value","among","the","rating","observations",".","global_mean",":","float","Average","value","over","the","rating","observations","."]
docstr: Load a recommender model from the filesystem.
  
  Parameters
  ----------
  model_path: str, required
      Path to a file or directory where the model is stored. If a directory is
      provided, the latest model will be loaded.
  
  trainable: boolean, optional, default: False
      Set it to True if you would like to finetune the model. By default,
      the model parameters are assumed to be fixed after being loaded.
  
  Returns
  -------
  self : object
docstr_tok: ["Load","a","recommender","model","from","the","filesystem",".","Parameters","--","--","--","--","--","model_path",":","str",",","required","Path","to","a","file","or","directory","where","the","model","is","stored",".","If","a","directory","is","provided",",","the","latest","model","will","be","loaded",".","trainable",":","boolean",",","optional",",","default",":","False","Set","it","to","True","if","you","would","like","to","finetune","the","model",".","By","default",",","the","model","parameters","are","assumed","to","be","fixed","after","being","loaded",".","Returns","--","--","--","-","self",":","object"]
code: def load(model_path, trainable=False):
      """Load a recommender model from the filesystem.
  
      Parameters
      ----------
      model_path: str, required
          Path to a file or directory where the model is stored. If a directory is
          provided, the latest model will be loaded.
  
      trainable: boolean, optional, default: False
          Set it to True if you would like to finetune the model. By default,
          the model parameters are assumed to be fixed after being loaded.
  
      Returns
      -------
      self : object
      """
      if os.path.isdir(model_path):
          model_file = sorted(glob("{}/*.pkl".format(model_path)))[-1]
      else:
          model_file = model_path
  
      model = pickle.load(open(model_file, "rb"))
      model.trainable = trainable
      model.load_from = model_file  # for further loading
      return model
  
imports: import copy
  import inspect
  import os
  import pickle
  import warnings
  from datetime import datetime
  from glob import glob
  import numpy
  from ..exception import ScoreException
  from ..utils.common import clip
label_desc: Use image node_id 11 for calling the Recommender obj's underlying member method code with example usage: obj.load(model_path, trainable) and returns: model