最近在帮助师兄完成毕设,涉及到了tensorflow和机器学习的知识,下面的代码描述了自动编码器编码解码的过程;同时,实现了模型的保存和数据替换的过程。首先,利用true.txt中的数据进行模型的训练,然后在利用false的数据进行测试,比较两次cost的差值。具体代码如下:
"""
Created on Wed Jan 23 12:29:56 2019
@author: 肖俊怡
"""
import tensorflow as tf
#import matplotlib.pyplot as plt
import numpy as np
#from tensorflow.examples.tutorials.mnist import input_data
#mnist = input_data.read_data_sets("MNIST_data/", one_hot=False)
train_data = np.loadtxt("true.txt")
#train_label = np.loadtxt("true.txt")
test_data = np.loadtxt("true.txt")
#test_label = np.loadtxt("true.txt")
#test_xs = np.ones((test_data.shape[0],28*28))
#test_ys = np.ones((test_data.shape[0],2))
#test_ys = test_label
#学习率决定了参数移动到最优值的速度快慢
learning_rate = 0.01
#指数据集中每一个样本都跑过一遍
training_epochs = 1
#每次选取的样本个数
batch_size = 200
display_step = 1
n_input = 18
#分配必要的内存,占位;类型:float;行数不定,列数为784
X = tf.placeholder("float", [None, n_input])
n_hidden_1 = 16
n_hidden_2 = 8
n_hidden_3 = 4
n_hidden_4 = 2
#设置权重值,并存入字典#从截断的正态分布中输出随机值
weights = {
'encoder_h1': tf.Variable(tf.truncated_normal([n_input, n_hidden_1],)),
'encoder_h2': tf.Variable(tf.truncated_normal([n_hidden_1, n_hidden_2],)),
'encoder_h3': tf.Variable(tf.truncated_normal([n_hidden_2, n