TF之AE:AE实现TF自带数据集数字真实值对比AE先encoder后decoder预测数字的精确对比—daidingdaiding

简介: TF之AE:AE实现TF自带数据集数字真实值对比AE先encoder后decoder预测数字的精确对比—daidingdaiding

 

目录

输出结果

代码设计


 

 

 

 

 

 

输出结果

网络异常,图片无法展示
|

代码设计

1. import tensorflow as tf
2. import numpy as np
3. import matplotlib.pyplot as plt
4. 
5. #Import MNIST data
6. from tensorflow.examples.tutorials.mnist import input_data
7. mnist=input_data.read_data_sets("/niu/mnist_data/",one_hot=False)
8. 
9. 
10. # Parameter
11. learning_rate = 0.01
12. training_epochs = 10
13. batch_size = 256
14. display_step = 1
15. examples_to_show = 10
16. 
17. # Network Parameters
18. n_input = 784
19. 
20. #tf Graph input(only pictures)
21. X=tf.placeholder("float", [None,n_input])
22. 
23. # hidden layer settings
24. n_hidden_1 = 256
25. n_hidden_2 = 128 <br>
26. weights = {
27. 'encoder_h1':tf.Variable(tf.random_normal([n_input,n_hidden_1])),
28. 'encoder_h2': tf.Variable(tf.random_normal([n_hidden_1,n_hidden_2])),
29. 'decoder_h1': tf.Variable(tf.random_normal([n_hidden_2,n_hidden_1])),
30. 'decoder_h2': tf.Variable(tf.random_normal([n_hidden_1, n_input])),
31.     }
32. biases = {
33. 'encoder_b1': tf.Variable(tf.random_normal([n_hidden_1])),
34. 'encoder_b2': tf.Variable(tf.random_normal([n_hidden_2])),
35. 'decoder_b1': tf.Variable(tf.random_normal([n_hidden_1])),
36. 'decoder_b2': tf.Variable(tf.random_normal([n_input])),
37.     }
38. 
39. #定义encoder
40. def encoder(x):
41. # Encoder Hidden layer with sigmoid activation #1
42.     layer_1 = tf.nn.sigmoid(tf.add(tf.matmul(x, weights['encoder_h1']),
43.                                    biases['encoder_b1']))
44. # Decoder Hidden layer with sigmoid activation #2
45.     layer_2 = tf.nn.sigmoid(tf.add(tf.matmul(layer_1, weights['encoder_h2']),
46.                                    biases['encoder_b2']))
47. return layer_2
48. 
49. #定义decoder
50. def decoder(x):
51. # Encoder Hidden layer with sigmoid activation #1
52.     layer_1 = tf.nn.sigmoid(tf.add(tf.matmul(x, weights['decoder_h1']),
53.                                    biases['decoder_b1']))
54. # Decoder Hidden layer with sigmoid activation #2
55.     layer_2 = tf.nn.sigmoid(tf.add(tf.matmul(layer_1, weights['decoder_h2']),
56.                                    biases['decoder_b2']))
57. return layer_2
58. 
59. # Construct model
60. encoder_op = encoder(X)             # 128 Features
61. decoder_op = decoder(encoder_op)    # 784 Features
62. 
63. # Prediction
64. y_pred = decoder_op   
65. # Targets (Labels) are the input data.
66. y_true = X            
67. 
68. # Define loss and optimizer, minimize the squared error
69. 
70. cost = tf.reduce_mean(tf.pow(y_true - y_pred, 2))
71. optimizer = tf.train.AdamOptimizer(learning_rate).minimize(cost)
72. 
73. # Launch the graph
74. with tf.Session() as sess:<br>
75.     sess.run(tf.initialize_all_variables())
76.     total_batch = int(mnist.train.num_examples/batch_size)
77. # Training cycle
78. for epoch in range(training_epochs):
79. # Loop over all batches
80. for i in range(total_batch):
81.             batch_xs, batch_ys = mnist.train.next_batch(batch_size)  # max(x) = 1, min(x) = 0
82. # Run optimization op (backprop) and cost op (to get loss value)
83.             _, c = sess.run([optimizer, cost], feed_dict={X: batch_xs})
84. # Display logs per epoch step
85. if epoch % display_step == 0:
86. print("Epoch:", '%04d' % (epoch+1),
87. "cost=", "{:.9f}".format(c))
88. 
89. print("Optimization Finished!")
90. # # Applying encode and decode over test set
91.     encode_decode = sess.run(
92.         y_pred, feed_dict={X: mnist.test.images[:examples_to_show]})
93. # Compare original images with their reconstructions
94.     f, a = plt.subplots(2, 10, figsize=(10, 2))
95.     plt.title('Matplotlib,AE--Jason Niu')
96. for i in range(examples_to_show):
97.         a[0][i].imshow(np.reshape(mnist.test.images[i], (28, 28)))
98.         a[1][i].imshow(np.reshape(encode_decode[i], (28, 28)))
99.     plt.show()

 

 


相关文章
|
Serverless
函数计算FC的openpose用不了
函数计算FC的openpose用不了,为什么?
72 1
|
8月前
|
JSON 数据处理 数据格式
yolov8训练自己的数据集以及权重转化为.engine格式(超详细)
yolov8训练自己的数据集以及权重转化为.engine格式(超详细)
621 0
|
8月前
|
数据采集 物联网 Serverless
在函数计算FC中训练Lora模型
【2月更文挑战第15天】在函数计算FC中训练Lora模型
193 7
|
8月前
|
机器学习/深度学习 人工智能 自然语言处理
NeurIPS’23 Paper Digest | 如何把 LLM 的推理能力应用于事件序列预测?
我们完成了首个把 LLM 推理能力引入事件序列领域的工作。代码、数据均已经开源,并将集成进开源库 EasyTPP。
NeurIPS’23 Paper Digest | 如何把 LLM 的推理能力应用于事件序列预测?
|
机器学习/深度学习 PyTorch 算法框架/工具
base model初始化large model,造成的参数矩阵对不上权重不匹配问题+修改预训练权重形状和上采样
base model初始化large model,造成的参数矩阵对不上权重不匹配问题+修改预训练权重形状和上采样
254 0
|
机器学习/深度学习 编解码 人工智能
ATC 模型转换动态 shape 问题案例
ATC(Ascend Tensor Compiler)是异构计算架构 CANN 体系下的模型转换工具:它可以将开源框架的网络模型(如 TensorFlow 等)以及 Ascend IR 定义的单算子描述文件转换为昇腾 AI 处理器支持的离线模型;模型转换过程中,ATC 会进行算子调度优化、权重数据重排、内存使用优化等具体操作,对原始的深度学习模型进行进一步的调优,从而满足部署场景下的高性能需求,使其能够高效执行在昇腾 AI 处理器上。
242 0
|
机器学习/深度学习 算法 算法框架/工具
自编码器 AE(AutoEncoder)程序
自编码器 AE(AutoEncoder)程序
182 2
成功解决基于model利用plot_importance()函数出现仅输出一个、两个或者三个等特征(极少的特征)
成功解决基于model利用plot_importance()函数出现仅输出一个、两个或者三个等特征(极少的特征)
成功解决基于model利用plot_importance()函数出现仅输出一个、两个或者三个等特征(极少的特征)
|
机器学习/深度学习 监控
DL之Attention-ED:基于TF NMT利用带有Attention的 ED模型训练、测试(中英文平行语料库)实现将英文翻译为中文的LSTM翻译模型过程全记录
DL之Attention-ED:基于TF NMT利用带有Attention的 ED模型训练、测试(中英文平行语料库)实现将英文翻译为中文的LSTM翻译模型过程全记录
DL之Attention-ED:基于TF NMT利用带有Attention的 ED模型训练、测试(中英文平行语料库)实现将英文翻译为中文的LSTM翻译模型过程全记录
|
机器学习/深度学习 监控 算法
CVPR2021 | Transformer用于End-to-End视频实例分割
视频实例分割(VIS)是一项需要同时对视频中感兴趣的对象进行分类、分割和跟踪的任务。本文提出了一种新的基于 Transformers 的视频实例分割框架 VisTR,它将 VIS 任务视为直接的端到端并行序列解码/预测问题。
CVPR2021 | Transformer用于End-to-End视频实例分割