class_docstr: Abstract base class for all downstream task models
  Every new type of model must implement these methods.
  
  Source: FlairNLP
class_docstr_tok: ["Abstract","base","class","for","all","downstream","task","models","Every","new","type","of","model","must","implement","these","methods",".","Source",":","FlairNLP"]
docstr: Saves the current model to the provided file.
  
  Args:
      model_file (Union[str, Path]): the model file
docstr_tok: ["Saves","the","current","model","to","the","provided","file",".","Args",":","model_file","(","Union","[","str",",","Path","]",")",":","the","model","file"]
code: def save(self, model_file: Union[str, Path]):
      """
      Saves the current model to the provided file.
  
      Args:
          model_file (Union[str, Path]): the model file
  
      """
      model_state = self._get_state_dict()
  
      torch.save(model_state, str(model_file), pickle_protocol=4)
  
file_path: underthesea/underthesea/models/model.py
imports: import warnings
  from abc import abstractmethod
  from pathlib import Path
  from typing import Union
  import torch.nn
  from underthesea import file_utils
  from underthesea.utils import device
label_desc: Use image node_id 2 for calling the Model obj's underlying member method code with example usage: obj.save(model_file) without return types