class_docstr: Customized worker pool
class_docstr_tok: ["Customized","worker","pool"]
docstr: Set collate function in subprocess
docstr_tok: ["Set","collate","function","in","subprocess"]
code: def set_collate_fn(self, func, dataloader_name):
      """Set collate function in subprocess"""
      for i in range(self.num_workers):
          self.task_queues[i].put(
              (MpCommand.SET_COLLATE_FN, (dataloader_name, func))
          )
      self.results[dataloader_name] = []
  
imports: import atexit
  import gc
  import multiprocessing
  import os
  import queue
  import sys
  import time
  import traceback
  from enum import Enum
  from ..None import utils
  from ..base import dgl_warning, DGLError
  from .None import rpc
  from .constants import MAX_QUEUE_SIZE
  from .kvstore import close_kvstore, init_kvstore
  from .role import init_role
  from .rpc_client import connect_to_server
label_desc: Use image node_id 2 for calling the CustomPool obj's underlying member method code with example usage: obj.set_collate_fn(func, dataloader_name) without return types