Example #1
0
    def __init__(self, name):
        # Call parent's constructor
        Net.__init__(self, name)

        # Attributes
        self._inter_type = self.RECURRENT
        self._train_state_buffer = None
        self._eval_state_buffer = None
        self._state_size = None
        self._init_state = None
        self._weights = None
        self._bias = None
        self._weight_initializer = None
        self._bias_initializer = None

        # For real-time training TODO: BETA
        self.repeater_tensors = None  # registered in sub-classes
        self._grad_tensors = None

        self._new_state_tensor = None  #
        self._gradient_buffer_placeholder = None
        self._gradient_buffer_array = None

        self._custom_vars = None

        # Gate activations should be registered here
        self._gate_dict = OrderedDict()
Example #2
0
    def __init__(self, name):
        # Call parent's constructor
        Net.__init__(self, name)

        # Attributes
        self._inter_type = self.RECURRENT
        self._state_array = None
        self._state_size = None
        self._init_state = None
        self._kernel = None
        self._bias = None
        self._weight_initializer = None
        self._bias_initializer = None
Example #3
0
 def __init__(self, mark=None, **kwargs):
     # Call parent's initializer
     Model.__init__(self, mark)
     Net.__init__(self, 'Bamboo_Broad_Net', inter_type=pedia.fork)
     assert self._inter_type == pedia.fork
     self.outputs = None
     # Private fields
     self._losses = []
     self._metrics = []
     self._train_ops = []
     self._var_list = []
     self._output_list = []
     self._branch_index = 0
     self._identity_initial = kwargs.get('ientity', False)
Example #4
0
    def __init__(self,
                 z_dim=None,
                 sample_shape=None,
                 output_shape=None,
                 mark=None,
                 classes=0):
        # Call parent's constructor
        Model.__init__(self, mark)

        self._targets = None
        self._conditional = classes > 0
        self._classes = classes
        if self._conditional:
            with self._graph.as_default():
                self._targets = tf.placeholder(dtype=tf.float32,
                                               shape=[None, classes],
                                               name='one_hot_labels')

        # Define generator and discriminator
        self.Generator = Net(pedia.Generator)
        self.Discriminator = Net(pedia.Discriminator)
        # Alias
        self.G = self.Generator
        self.D = self.Discriminator

        # If z_dim/sample_shape is provided, define the input for
        #   generator/discriminator accordingly
        if z_dim is not None:
            self.G.add(Input(sample_shape=[None, z_dim], name='z'))
        if sample_shape is not None:
            if (not isinstance(sample_shape, list)
                    and not isinstance(sample_shape, tuple)):
                raise TypeError('sample shape must be a list or a tuple')
            self.D.add(
                Input(sample_shape=[None] + list(sample_shape),
                      name='samples'))

        self._z_dim = z_dim
        self._sample_shape = sample_shape
        self._output_shape = output_shape
        self._sample_num = None

        # Private tensors and ops
        self._G, self._outputs = None, None
        self._Dr, self._Df = None, None
        self._logits_Dr, self._logits_Df = None, None
        self._loss_G, self._loss_D = None, None
        self._loss_Dr, self._loss_Df = None, None
        self._train_step_G, self._train_step_D = None, None
        self._merged_summary_G, self._merged_summary_D = None, None
Example #5
0
    def _init_T(self):
        # Add empty nets to each degree
        for n in self.orders:
            self.T[n] = Net('T{}'.format(n))
            self.T[n].add(self._input)

        # Initialize volterra part
        for order in range(1, self._max_volterra_order + 1):
            self.T[order].add(Homogeneous(order))
Example #6
0
    def __init__(self,
                 z_dim=None,
                 sample_shape=None,
                 output_shape=None,
                 mark=None,
                 classes=0):
        # Call parent's constructor
        Model.__init__(self, mark)

        # Fields
        self._output_shape = output_shape

        # Define encoder and decoder
        self.Encoder = Net(pedia.Encoder)
        self.Decoder = Net(pedia.Decoder)

        self.Q = self.Encoder
        self.P = self.Decoder

        # If z_dim/sample_shape is provided, define the input for
        #   decoder/encoder accordingly
        if z_dim is not None:
            self.P.add(Input(sample_shape=[None, z_dim], name='z'))
        if sample_shape is not None:
            if (not isinstance(sample_shape, list)
                    and not isinstance(sample_shape, tuple)):
                raise TypeError('sample shape must be a list or a tuple')
            self.Q.add(
                Input(sample_shape=[None] + list(sample_shape),
                      name='samples'))

        # Placeholders
        self._sample_num = None
        self._classes = classes
        self._conditional = classes > 0
        if self._conditional:
            self._targets = tf.placeholder(dtype=tf.float32,
                                           shape=[None, classes],
                                           name='one_hot_labels')

        self._P, self._outputs = None, None

        # ...
        pass
Example #7
0
 def __init__(self, mark=None):
     Model.__init__(self, mark)
     Net.__init__(self, 'FeedforwardNet')
     self.superior = self
     self._default_net = self
Example #8
0
 def __init__(self, mark=None):
     Model.__init__(self, mark)
     Net.__init__(self, 'FeedforwardNet')
     self.outputs = None