class_docstr: The Epoch Max GPU metric.
  This plugin metric only works at training time.
class_docstr_tok: ["The","Epoch","Max","GPU","metric",".","This","plugin","metric","only","works","at","training","time","."]
docstr: Creates an instance of the epoch Max GPU metric.
  
  :param gpu_id: GPU device ID.
  :param every: seconds after which update the maximum GPU
      usage
docstr_tok: ["Creates","an","instance","of","the","epoch","Max","GPU","metric",".",":","param","gpu_id",":","GPU","device","ID",".",":","param","every",":","seconds","after","which","update","the","maximum","GPU","usage"]
code: def __init__(self, gpu_id, every=0.5):
      """
      Creates an instance of the epoch Max GPU metric.
  
      :param gpu_id: GPU device ID.
      :param every: seconds after which update the maximum GPU
          usage
      """
      super(EpochMaxGPU, self).__init__(
          gpu_id, every, reset_at="epoch", emit_at="epoch", mode="train"
      )
  
imports: import GPUtil
  from threading import Thread
  import time
  import warnings
  from typing import Optional, TYPE_CHECKING, List
  from avalanche.evaluation import Metric, PluginMetric, GenericPluginMetric
  from avalanche.evaluation.metric_results import MetricResult
label_desc: Use image node_id 1 to create a new EpochMaxGPU object from inherited base classes: GPUPluginMetric with example: obj = EpochMaxGPU(gpu_id, every)