通过建立一个两层降维的自编码网络,将MNIST数据集的数据特征提取出来,并通过这些特征再重建一个MNIST数据集。
1,引入头文件,并加载mnist数据
import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt
#导入mnist数据集
from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets("/data/", one_hot = True)
2.定义网络结构
learning_rate = 0.01
n_hidden_1 = 256
n_hidden_2 = 128
n_input = 784
#占位符
x = tf.placeholder("float",[None, n_input]) #输入
y = x #输出
#学习参数
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])),
'