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 __set__(self, instance, value):
      if value in self.choices:
          return super(ChoiceProperty, self).__set__(instance, value)
  
      possible_choices = ", ".join(self.choices.keys())
      raise ValueError(
          "Wrong value `{0}` for property `{1}`. Available values: "
          "{2}".format(value, self.name, possible_choices)
      )
  
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 2 for calling the ChoiceProperty obj's underlying member method code with example usage: obj.__set__(instance, value) and returns: super