VAE更倾向于数据生成。当我们训练好了decoder,就可以从标准正态分布生成数据作为解码器的输入,来生成类似但不同于训练数据的新样本,作用类似GAN,用来降维、生成数据。

1.训练代码

import keras
import numpy as np
from sklearn.preprocessing import StandardScaler
from sklearn.preprocessing import MinMaxScaler
import numpy as np
import pandas as pd# the inital input
x = pd.read_csv("XXX.csv", header=None)
x = np.array(x.values)
#xrd = np.delete(xrd, 0, axis = 1)
#X = ss.fit_transform(X)# dimension of encode
encoding_dim = 100# dimension of inital input
input_X = keras.layers.Input(shape=(901,))
encode = keras.layers.Dense(120, activation='relu')(input_X)
encode = keras.layers.Dense(30, activation='relu')(encode)
encoder_output = keras.layers.Dense(encoding_dim)(encode)decode = keras.layers.Dense(30, activation='relu')(encoder_output)
decode = keras.layers.Dense(120, activation='relu')(decode)
decoder_output = keras.layers.Dense(901, activation='tanh')(decode)encoder = keras.Model(inputs=input_X, outputs=encoder_output)
AutoEncoder = keras.Model(inputs=input_X, outputs=decoder_output)AutoEncoder.compile(optimizer='adam', loss='mse', metrics=['accuracy'])
AutoEncoder.fit(x.T, x.T, epochs=1000, batch_size=1)# save the weights of encoder
encoder_json = encoder.to_json()
with open('encoder.json','w') as json_file:json_file.write(encoder_json)
encoder.save_weights('encoder_weights.hdf5')# save the weights of vae
AutoEncoder_json = AutoEncoder.to_json()
with open('AutoEncoder.json','w') as json_file:json_file.write(AutoEncoder_json)
AutoEncoder.save_weights('vae_weights.hdf5')

2. 测试模型

import os
from keras.models import load_model, model_from_json
import numpy as npimport pandas as pd
x = pd.read_csv("XXX.csv", header=None)
x = np.array(x.values)
## VAE input
model_path = 'AutoEncoder.json'
json_file = open(model_path,'r')
loaded_model_json = json_file.read()
json_file.close()
model = model_from_json(loaded_model_json)
model.load_weights('vae_weights.hdf5')
y = model.predict(x.T)
np.savetxt("YYY.csv", y, delimiter=',')

变分自编码器VAE代码相关推荐

  1. PyTorch 实现 VAE 变分自编码器 含代码

    编码器 自编码器 自编码器网络结构图 线性自编码器代码如下: 卷积自编码器代码如下: 变分自编码器 变分自编码器网络结构图 变分自编码器代码如下: Ref 自编码器 自编码器网络结构图 线性自编码器代 ...

  2. 变分自编码器VAE ——公式推导(含实现代码)

    目录 一.什么是变分自编码器 二.VAE的公式推导 三.重参数化技巧 一.什么是变分自编码器    在讲述VAE(variational auto-encoder)之前,有必要先看一下AE(auto- ...

  3. 变分自编码器VAE:一步到位的聚类方案

    作者丨苏剑林 单位丨广州火焰信息科技有限公司 研究方向丨NLP,神经网络 个人主页丨kexue.fm 由于 VAE 中既有编码器又有解码器(生成器),同时隐变量分布又被近似编码为标准正态分布,因此 V ...

  4. 变分自编码器VAE:这样做为什么能成?

    作者丨苏剑林 单位丨广州火焰信息科技有限公司 研究方向丨NLP,神经网络 个人主页丨kexue.fm 话说我觉得我自己最近写文章都喜欢长篇大论了,而且扎堆地来.之前连续写了三篇关于 Capsule 的 ...

  5. 4.keras实现--生成式深度学习之用变分自编码器VAE生成图像(mnist数据集和名人头像数据集)...

    1.VAE和GAN 变分自编码器(VAE,variatinal autoencoder)   VS    生成式对抗网络(GAN,generative adversarial network) 两者不 ...

  6. 在表格数据集上训练变分自编码器 (VAE)示例

    转载:Deephub Imba 变分自编码器 (VAE) 是在图像数据应用中被提出,但VAE不仅可以应用在图像中.在这篇文章中,我们将简单介绍什么是VAE,以及解释"为什么"变分自 ...

  7. 再谈变分自编码器VAE:从贝叶斯观点出发

    作者丨苏剑林 单位丨广州火焰信息科技有限公司 研究方向丨NLP,神经网络 个人主页丨kexue.fm 前几天写了文章变分自编码器VAE:原来是这么一回事,从一种比较通俗的观点来理解变分自编码器(VAE ...

  8. 2020-4-22 深度学习笔记20 - 深度生成模型 5 (有向生成网络--sigmoid信念网络/可微生成器网络/变分自编码器VAE/生产对抗网络GAN/生成矩匹配网络)

    第二十章 深度生成模型 Deep Generative Models 中文 英文 2020-4-17 深度学习笔记20 - 深度生成模型 1 (玻尔兹曼机,受限玻尔兹曼机RBM) 2020-4-18 ...

  9. 变分自编码器和条件变分自编码器 (VAE CVAE)

    变分自编码器(VAE) 变分自编码器(VAE)是通过大量的观测数据 xi\mathbf{x}_{i}xi​ 总结出数据的分布 p(X)p(\mathbf{X})p(X),进而可以通过无穷次的采样获取所 ...

最新文章

  1. Stanford UFLDL教程 自编码算法与稀疏性
  2. SAP S4 HANA-The future is here?
  3. 在自己的linux服务器上面部署ShowDoc
  4. 华为OJ: 公共字符串计算
  5. spring boot缓存_Spring Boot和缓存抽象
  6. 移动端禁止视频自动全屏播放
  7. 【HDU - 1412】 {A} + {B} (STL + set)
  8. Android开发笔记(六十五)多样的菜单
  9. java 任务栏程序_如何在任务栏显示java程序图标
  10. 从零实现深度学习框架——手写前馈网络实现电影评论分类
  11. 算法训练 表达式计算
  12. 优秀程序员必须知道的八件事情
  13. C++编译器的函数名修饰规则
  14. 现代男人养生的10点忠告
  15. Mapbox使用之glyphs(字体符号)与sprite图生成与拆分
  16. 把华为交换机设置成(NTP)时钟源服务器
  17. (DDIA)SQL与NoSQL数据模型简介
  18. tab标签页-选项卡后边+后端所返数据的数量
  19. zabbix监控用户密码剩余过期天数
  20. Windows系统下CMD命令

热门文章

  1. OAuth 2 实现单点登录,通俗易懂!
  2. 图解Java中那18 把锁
  3. Java处理高并发、高负载类网站的优化方法
  4. 为什么分布式一定要有消息队列?
  5. 敏捷开发中的故事点到底是什么?如何预估故事点?
  6. hdaoop下HDFS操作
  7. sql 插入新数据 如何处理等字符_条码打印软件之如何在条码数据插入字符而不被扫描...
  8. python编写脚本方法_使用Python编写提取日志中的中文的脚本的方法
  9. C++中STL中的大、小、相等概念
  10. 一文详解NDT算法实现