コード例 #1
0
    def __init__(self,
                 dim_z2h,
                 dim_h2v,
                 activation_fn=tf.nn.relu,
                 temp=.1,
                 hard=False,
                 train_pi=True):
        self.prior_h = NADE(dim_z2h[1], dim_z2h[0], temp)
        self.dim_h2v = dim_h2v
        self.w_h2v, self.b_h2v = [], []
        if activation_fn == tf.nn.relu:
            const = 1.0
        else:
            const = 4.0

        assert len(self.dim_h2v) > 1
        for d1, d2, i in zip(dim_h2v[:-1], dim_h2v[1:],
                             xrange(1, len(self.dim_h2v))):
            self.w_h2v.append(
                tfe.Variable(tf_xavier_init(d1, d2, const=const),
                             name='sbn.w_h2v.' + str(i)))
            self.b_h2v.append(
                tfe.Variable(tf.zeros([d2]),
                             dtype=tf.float32,
                             name='sbn.b_h2v.' + str(i)))

        self.activation_fn = activation_fn
        self.temp = temp
        self.hard = hard
コード例 #2
0
def build_model(dataset, trainingparams, hyperparams, hidden_size):
    print '\n### Initializing NADE ... ',
    start_time = t.time()
    model = NADE(dataset,
                 learning_rate=trainingparams['learning_rate'],
                 decrease_constant=trainingparams['decrease_constant'],
                 hidden_size=hidden_size,
                 random_seed=hyperparams['random_seed'],
                 batch_size=trainingparams['batch_size'],
                 hidden_activation=activation_functions[hyperparams['hidden_activation']],
                 momentum=trainingparams['momentum'],
                 dropout_rate=trainingparams['dropout_rate'],
                 weights_initialization=hyperparams['weights_initialization'],
                 tied=hyperparams['tied'])
    print utils.get_done_text(start_time), "###"
    # printParams(model)
    return model
コード例 #3
0
 def __init__(self,
              dim_zh2,
              dims_h2h1,
              dims_h1v,
              activation_fn=tf.nn.relu,
              temp=.1,
              hard=False,
              train_pi=True):
     self.prior_h2 = NADE(dim_zh2[1], dim_zh2[0], temp)
     self.dec_h2h1 = DEC(dims_h2h1,
                         name='h2h1',
                         activation_fn=activation_fn,
                         temp=temp,
                         hard=hard)
     self.dec_h1v = DEC(dims_h1v,
                        name='h1v',
                        activation_fn=activation_fn,
                        temp=temp,
                        hard=hard)
コード例 #4
0
 def __init__(self, num_dims, num_hidden, temp=.1, hard=False):
     self.nade = NADE(num_dims, num_hidden, temperature=temp, hard=hard)