class_docstr: Property that can have discrete number of properties.
  
  Parameters
  ----------
  choices : list, tuple or dict
      Stores all possible choices. Defines list of possible
      choices. If value specified as a dictionary than key
      would be just an alias to the expected value.
  
  {BaseProperty.Parameters}
class_docstr_tok: ["Property","that","can","have","discrete","number","of","properties",".","Parameters","--","--","--","--","--","choices",":","list",",","tuple","or","dict","Stores","all","possible","choices",".","Defines","list","of","possible","choices",".","If","value","specified","as","a","dictionary","than","key","would","be","just","an","alias","to","the","expected","value",".","{","BaseProperty.Parameters","}"]
code: def __init__(self, choices, *args, **kwargs):
      super(ChoiceProperty, self).__init__(*args, **kwargs)
      self.choices = choices
  
      if isinstance(choices, (list, tuple, set)):
          self.choices = dict(zip(choices, choices))
  
      if not isinstance(self.choices, dict):
          class_name = self.choices.__class__.__name__
  
          raise ValueError(
              "Choice properties can be only a `dict`, got "
              "`{0}`".format(class_name)
          )
  
      if not self.choices:
          raise ValueError(
              "Must be at least one choice in property "
              "`{0}`".format(self.name)
          )
  
imports: import numbers
  import inspect
  import numpy
  import tensorflow
  from neupy import init
  from neupy.utils import as_tuple
  from neupy.core.docs import SharedDocs
label_desc: Use image node_id 1 to create a new ChoiceProperty object from inherited base classes: BaseProperty with example: obj = ChoiceProperty(choices)