Autoencoder

莫老师传送门

autoencoder代码很简单,就是多层的layer就行了。

#给每一个变量起了个名字,调用的时候可以直接weights['decoder_h1']调用某个变量
weights = {
    'encoder_h1': tf.Variable(tf.random_normal([n_input, n_hidden_1])),
    'encoder_h2': tf.Variable(tf.random_normal([n_hidden_1, n_hidden_2])),
    'decoder_h1': tf.Variable(tf.random_normal([n_hidden_2, n_hidden_1])),
    'decoder_h2': tf.Variable(tf.random_normal([n_hidden_1, n_input])),
}
biases = {
    'encoder_b1': tf.Variable(tf.random_normal([n_hidden_1])),
    'encoder_b2': tf.Variable(tf.random_normal([n_hidden_2])),
    'decoder_b1': tf.Variable(tf.random_normal([n_hidden_1])),
    'decoder_b2': tf.Variable(tf.random_normal([n_input])),
}

多个部分一起跑sess

 _, c = sess.run([optimizer, cost], feed_dict={X: batch_xs})

你可能感兴趣的:(tensorflow)