class_docstr: Manages hyperparameter optimisation using random search for a single GPU.
  
  Attributes:
    param_ranges: Discrete hyperparameter range for random search.
    results: Dataframe of validation results.
    fixed_params: Fixed model parameters per experiment.
    saved_params: Dataframe of parameters trained.
    best_score: Minimum validation loss observed thus far.
    optimal_name: Key to best configuration.
    hyperparam_folder: Where to save optimisation outputs.
class_docstr_tok: ["Manages","hyperparameter","optimisation","using","random","search","for","a","single","GPU",".","Attributes",":","param_ranges",":","Discrete","hyperparameter","range","for","random","search",".","results",":","Dataframe","of","validation","results",".","fixed_params",":","Fixed","model","parameters","per","experiment",".","saved_params",":","Dataframe","of","parameters","trained",".","best_score",":","Minimum","validation","loss","observed","thus","far",".","optimal_name",":","Key","to","best","configuration",".","hyperparam_folder",":","Where","to","save","optimisation","outputs","."]
docstr: Checks that parameter map is properly defined.
docstr_tok: ["Checks","that","parameter","map","is","properly","defined","."]
code: def _check_params(self, params):
      """Checks that parameter map is properly defined."""
  
      valid_fields = list(self.param_ranges.keys()) + list(
          self.fixed_params.keys()
      )
      invalid_fields = [k for k in params if k not in valid_fields]
      missing_fields = [k for k in valid_fields if k not in params]
  
      if invalid_fields:
          raise ValueError(
              "Invalid Fields Found {} - Valid ones are {}".format(
                  invalid_fields, valid_fields
              )
          )
      if missing_fields:
          raise ValueError(
              "Missing Fields Found {} - Valid ones are {}".format(
                  missing_fields, valid_fields
              )
          )
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import collections
  import os
  import shutil
  import libs.utils
  import numpy
  import pandas
label_desc: Use image node_id 6 for calling the HyperparamOptManager obj's underlying member method code with example usage: obj._check_params(params) without return types