def _create_variables_no_pretrain(self, n_features): """ Create model variables (no previous unsupervised pretraining) :param n_features: number of features :return: self """ if not self.xavier_init[0]: xinit = 1 else: xinit = self.xavier_init[0] self.encoding_w_ = [] self.encoding_b_ = [] for l, layer in enumerate(self.layers): if l == 0: self.encoding_w_.append( tf.Variable( utilities.xavier_init(n_features, self.layers[l], xinit))) self.encoding_b_.append( tf.Variable( tf.truncated_normal([self.layers[l]], stddev=0.01))) else: self.encoding_w_.append( tf.Variable( utilities.xavier_init(self.layers[l - 1], self.layers[l], xinit))) self.encoding_b_.append( tf.Variable( tf.truncated_normal([self.layers[l]], stddev=0.01)))
def _create_variables(self, n_features): """ Create the TensorFlow variables for the model. :return: self """ self.W_ = tf.Variable(utilities.xavier_init(n_features, self.n_components, self.xavier_init), name='enc-w') self.bh_ = tf.Variable(tf.zeros([self.n_components]), name='hidden-bias') self.bv_ = tf.Variable(tf.zeros([n_features]), name='visible-bias')
def _create_variables(self, n_features, W_=None, bh_=None, bv_=None): """ Create the TensorFlow variables for the model. :return: self """ if W_: self.W_ = tf.Variable(W_, name='enc-w') else: self.W_ = tf.Variable(utilities.xavier_init( n_features, self.n_components, self.xavier_init), name='enc-w') if bh_: self.bh_ = tf.Variable(bh_, name='hidden-bias') else: self.bh_ = tf.Variable(tf.constant(0.01, shape=[self.n_components]), name='hidden-bias') if bv_: self.bv_ = tf.Variable(bv_, name='visible-bias') else: self.bv_ = tf.Variable(tf.constant(0.01, shape=[n_features]), name='visible-bias')