变分自编码器VAE代码
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代码相关推荐
- PyTorch 实现 VAE 变分自编码器 含代码
编码器 自编码器 自编码器网络结构图 线性自编码器代码如下: 卷积自编码器代码如下: 变分自编码器 变分自编码器网络结构图 变分自编码器代码如下: Ref 自编码器 自编码器网络结构图 线性自编码器代 ...
- 变分自编码器VAE ——公式推导(含实现代码)
目录 一.什么是变分自编码器 二.VAE的公式推导 三.重参数化技巧 一.什么是变分自编码器 在讲述VAE(variational auto-encoder)之前,有必要先看一下AE(auto- ...
- 变分自编码器VAE:一步到位的聚类方案
作者丨苏剑林 单位丨广州火焰信息科技有限公司 研究方向丨NLP,神经网络 个人主页丨kexue.fm 由于 VAE 中既有编码器又有解码器(生成器),同时隐变量分布又被近似编码为标准正态分布,因此 V ...
- 变分自编码器VAE:这样做为什么能成?
作者丨苏剑林 单位丨广州火焰信息科技有限公司 研究方向丨NLP,神经网络 个人主页丨kexue.fm 话说我觉得我自己最近写文章都喜欢长篇大论了,而且扎堆地来.之前连续写了三篇关于 Capsule 的 ...
- 4.keras实现--生成式深度学习之用变分自编码器VAE生成图像(mnist数据集和名人头像数据集)...
1.VAE和GAN 变分自编码器(VAE,variatinal autoencoder) VS 生成式对抗网络(GAN,generative adversarial network) 两者不 ...
- 在表格数据集上训练变分自编码器 (VAE)示例
转载:Deephub Imba 变分自编码器 (VAE) 是在图像数据应用中被提出,但VAE不仅可以应用在图像中.在这篇文章中,我们将简单介绍什么是VAE,以及解释"为什么"变分自 ...
- 再谈变分自编码器VAE:从贝叶斯观点出发
作者丨苏剑林 单位丨广州火焰信息科技有限公司 研究方向丨NLP,神经网络 个人主页丨kexue.fm 前几天写了文章变分自编码器VAE:原来是这么一回事,从一种比较通俗的观点来理解变分自编码器(VAE ...
- 2020-4-22 深度学习笔记20 - 深度生成模型 5 (有向生成网络--sigmoid信念网络/可微生成器网络/变分自编码器VAE/生产对抗网络GAN/生成矩匹配网络)
第二十章 深度生成模型 Deep Generative Models 中文 英文 2020-4-17 深度学习笔记20 - 深度生成模型 1 (玻尔兹曼机,受限玻尔兹曼机RBM) 2020-4-18 ...
- 变分自编码器和条件变分自编码器 (VAE CVAE)
变分自编码器(VAE) 变分自编码器(VAE)是通过大量的观测数据 xi\mathbf{x}_{i}xi 总结出数据的分布 p(X)p(\mathbf{X})p(X),进而可以通过无穷次的采样获取所 ...
最新文章
- Stanford UFLDL教程 自编码算法与稀疏性
- SAP S4 HANA-The future is here?
- 在自己的linux服务器上面部署ShowDoc
- 华为OJ: 公共字符串计算
- spring boot缓存_Spring Boot和缓存抽象
- 移动端禁止视频自动全屏播放
- 【HDU - 1412】 {A} + {B} (STL + set)
- Android开发笔记(六十五)多样的菜单
- java 任务栏程序_如何在任务栏显示java程序图标
- 从零实现深度学习框架——手写前馈网络实现电影评论分类
- 算法训练 表达式计算
- 优秀程序员必须知道的八件事情
- C++编译器的函数名修饰规则
- 现代男人养生的10点忠告
- Mapbox使用之glyphs(字体符号)与sprite图生成与拆分
- 把华为交换机设置成(NTP)时钟源服务器
- (DDIA)SQL与NoSQL数据模型简介
- tab标签页-选项卡后边+后端所返数据的数量
- zabbix监控用户密码剩余过期天数
- Windows系统下CMD命令