class_docstr: Track free RAM on the host.
  
  When triggered, it writes the size of free RAM into monitors.
class_docstr_tok: ["Track","free","RAM","on","the","host",".","When","triggered",",","it","writes","the","size","of","free","RAM","into","monitors","."]
code: def _trigger(self):
      ram_gb = self._free_ram_gb()
      self.trainer.monitors.put_scalar("HostFreeMemory (GB)", ram_gb)
  
imports: import multiprocessing
  import numpy
  import os
  import time
  import tensorflow
  from six.moves import map, queue
  import psutil
  from ..tfutils.common import gpu_available_in_session
  from ..utils import logger
  from ..utils.timer import Timer
  from ..utils.concurrency import ensure_proc_terminate, start_proc_mask_signal
  from ..utils.gpu import get_num_gpu
  from ..utils.nvml import NVMLContext
  from .base import Callback
label_desc: Use image node_id 3 for calling the HostMemoryTracker obj's underlying member method code with example usage: obj._trigger() without return types