code: def validate_class_args(self, **kwargs):
      Schema(
          {
              "epoch_num": self.range("epoch_num", int, 0, 9999),
              Optional("start_step"): self.range(
                  "start_step", int, 0, 9999
              ),
              Optional("threshold"): self.range(
                  "threshold", float, 0, 9999
              ),
              Optional("gap"): self.range("gap", int, 1, 9999),
          }
      ).validate(kwargs)
  
file_path: nni/nni/algorithms/hpo/curvefitting_assessor/curvefitting_assessor.py
imports: import logging
  import datetime
  from schema import Schema, Optional
  from nni import ClassArgsValidator
  from nni.assessor import Assessor, AssessResult
  from nni.utils import extract_scalar_history
  from .model_factory import CurveModel
label_desc: Use image node_id 1 for calling the CurvefittingClassArgsValidator obj's underlying member method code with example usage: obj.validate_class_args() without return types