class_docstr: Context in which an experiment is being run.
  
  Currently, this class implements the same interface as SnapshotConfig, but
  it will be extended in the future.
  
  Args:
      snapshot_dir (str): The full directory to put snapshots in.
      snapshot_mode (str): Policy for which snapshots to keep (or make at
          all). Can be either "all" (all iterations will be saved), "last"
          (only the last iteration will be saved), "gap" (every snapshot_gap
          iterations are saved), or "none" (do not save snapshots).
      snapshot_gap (int): Gap between snapshot iterations. Waits this number
          of iterations before taking another snapshot.
code: def __init__(self, *, snapshot_dir, snapshot_mode, snapshot_gap):
      self.snapshot_dir = snapshot_dir
      self.snapshot_mode = snapshot_mode
      self.snapshot_gap = snapshot_gap
  
imports: import collections
  import datetime
  import enum
  import functools
  import gc
  import inspect
  import json
  import os
  import pathlib
  import subprocess
  import warnings
  import weakref
  import dateutil.tz
  import dowel
  from dowel import logger
  import numpy
  import __main__
label_desc: Use image node_id 1 to create a new ExperimentContext object  with example: obj = ExperimentContext()