docstr: Test that the hooks are constructed correctly.
docstr_tok: ["Test","that","the","hooks","are","constructed","correctly","."]
code: def test_constructors(self) -> None:
      """
      Test that the hooks are constructed correctly.
      """
      config = {"summary_writer": {}, "log_period": 5}
      invalid_config = copy.deepcopy(config)
      invalid_config["log_period"] = "this is not an int"
  
      self.constructor_test_helper(
          config=config,
          hook_type=TensorboardPlotHook,
          hook_registry_name="tensorboard_plot",
          hook_kwargs={"tb_writer": SummaryWriter(), "log_period": 5},
          invalid_configs=[invalid_config],
      )
  
file_path: ClassyVision/test/manual/hooks_tensorboard_plot_hook_test.py
imports: import copy
  import shutil
  import tempfile
  import unittest.mock
  from itertools import product
  from classy_vision.hooks import TensorboardPlotHook
  from classy_vision.optim.param_scheduler import ClassyParamScheduler, UpdateInterval
  from classy_vision.tasks import build_task
  from classy_vision.tasks.classification_task import LastBatchInfo
  from classy_vision.trainer import LocalTrainer
  from test.generic.config_utils import get_test_mlp_task_config, get_test_task_config
  from test.generic.hook_test_utils import HookTestBase
  from torch.utils.tensorboard import SummaryWriter
label_desc: Use image node_id 3 for calling the TestTensorboardPlotHook obj's underlying member method code with example usage: obj.test_constructors() without return types