class_docstr: This is a wrapper class of luigi.Task.
  
  The key methods of a TaskOnKart are:
  
  * :py:meth:`make_target` - this makes output target with a relative file path.
  * :py:meth:`make_model_target` - this makes output target for models which generate multiple files to save.
  * :py:meth:`load` - this loads input files of this task.
  * :py:meth:`dump` - this save a object as output of this task.
class_docstr_tok: ["This","is","a","wrapper","class","of","luigi.Task",".","The","key","methods","of","a","TaskOnKart","are",":","*",":","py",":","meth",":","`","make_target","`","-","this","makes","output","target","with","a","relative","file","path",".","*",":","py",":","meth",":","`","make_model_target","`","-","this","makes","output","target","for","models","which","generate","multiple","files","to","save",".","*",":","py",":","meth",":","`","load","`","-","this","loads","input","files","of","this","task",".","*",":","py",":","meth",":","`","dump","`","-","this","save","a","object","as","output","of","this","task","."]
docstr: Make target for models which generate multiple files in saving, e.g. gensim.Word2Vec, Tensorflow, and so on.
  
  :param relative_file_path: A file path to save.
  :param save_function: A function to save a model. This takes a model object and a file path.
  :param load_function: A function to load a model. This takes a file path and returns a model object.
  :param use_unique_id: If this is true, add an unique id to a file base name.
docstr_tok: ["Make","target","for","models","which","generate","multiple","files","in","saving",",","e.g",".","gensim.Word2Vec",",","Tensorflow",",","and","so","on",".",":","param","relative_file_path",":","A","file","path","to","save",".",":","param","save_function",":","A","function","to","save","a","model",".","This","takes","a","model","object","and","a","file","path",".",":","param","load_function",":","A","function","to","load","a","model",".","This","takes","a","file","path","and","returns","a","model","object",".",":","param","use_unique_id",":","If","this","is","true",",","add","an","unique","id","to","a","file","base","name","."]
code: def make_model_target(
      self,
      relative_file_path: str,
      save_function: Callable[[Any, str], None],
      load_function: Callable[[str], Any],
      use_unique_id: bool = True,
  ):
      """
      Make target for models which generate multiple files in saving, e.g. gensim.Word2Vec, Tensorflow, and so on.
  
      :param relative_file_path: A file path to save.
      :param save_function: A function to save a model. This takes a model object and a file path.
      :param load_function: A function to load a model. This takes a file path and returns a model object.
      :param use_unique_id: If this is true, add an unique id to a file base name.
      """
      file_path = os.path.join(
          self.workspace_directory, relative_file_path
      )
      assert (
          relative_file_path[-3:] == "zip"
      ), f"extension must be zip, but {relative_file_path} is passed."
      unique_id = self.make_unique_id() if use_unique_id else None
      redis_params = make_redis_params(
          file_path=file_path,
          unique_id=unique_id,
          redis_host=self.redis_host,
          redis_port=self.redis_port,
          redis_timeout=self.redis_timeout,
          raise_task_lock_exception_on_collision=False,
      )
  
      return gokart.target.make_model_target(
          file_path=file_path,
          temporary_directory=self.local_temporary_directory,
          unique_id=unique_id,
          save_function=save_function,
          load_function=load_function,
          redis_params=redis_params,
      )
  
imports: import hashlib
  import inspect
  import os
  import types
  from importlib import import_module
  from logging import getLogger
  from typing import Any, Callable, Dict, List, Optional, Set, Union
  import luigi
  import pandas
  from luigi.parameter import ParameterVisibility
  import gokart
  from gokart.file_processor import FileProcessor
  from gokart.pandas_type_config import PandasTypeConfigMap
  from gokart.parameter import ExplicitBoolParameter, ListTaskInstanceParameter, TaskInstanceParameter
  from gokart.redis_lock import make_redis_params
  from gokart.target import TargetOnKart
  from gokart.task_complete_check import task_complete_check_wrapper
label_desc: Use image node_id 12 for calling the TaskOnKart obj's underlying member method code with example usage: obj.make_model_target(relative_file_path, save_function, load_function, use_unique_id) and returns: gokart