class_docstr: Base configuration class. It help set up and validate
  initialized property values.
  
  Parameters
  ----------
  **options
      Available properties.
code: def __init__(self, **options):
      available_options = set(self.options.keys())
      invalid_options = set(options) - available_options
  
      if invalid_options:
          clsname = self.__class__.__name__
          raise ValueError(
              "The `{}` object contains invalid properties: {}"
              "".format(clsname, ", ".join(invalid_options))
          )
  
      for key, value in options.items():
          setattr(self, key, value)
  
      for option_name, option in self.options.items():
          if option.value.required and option_name not in options:
              raise ValueError(
                  "Option `{}` is required.".format(option_name)
              )
  
imports: from abc import ABCMeta
  from collections import namedtuple
  import numpy
  import tensorflow
  from six import with_metaclass
  from neupy.utils import tensorflow_eval
  from .properties import BaseProperty, WithdrawProperty
  from .docs import SharedDocsMeta
label_desc: Use image node_id 1 to create a new BaseConfigurable object from inherited base classes: ExtractParameters with example: obj = BaseConfigurable()