tensorflow学习序列——自动编码AutoEncode

该博客介绍了如何使用TensorFlow实现带高斯噪声的自编码器(AdditiveGaussianNoiseAutoencoder)。通过定义网络权重、初始化、训练和重构过程,展示了在MNIST数据集上的应用,以200个隐藏单元和软加激活函数进行20个训练周期的训练。
摘要由CSDN通过智能技术生成
# Tensor Flow实现自编码器
import numpy as np
import sklearn.preprocessing as prep
import tensorflow as tf
import input_data




def standard_scale(X_train, X_test):
	preprocessor = prep.StandardScaler().fit(X_train); 
	X_train = preprocessor.transform(X_train); 
	X_test = preprocessor.transform(X_test); 
	return X_train, X_test; 

def get_random_block_from_data(data,batch_size): 
	start_index = np.random.randint(0,len(data) - batch_size); 
	return data[start_index:(start_index + batch_size)]; 
	


def xavier_init(fan_in, fan_out, constant = 1):
    low = -constant * np.sqrt(6.0 / (fan_in + fan_out));
    high = constant * np.sqrt(6.0 / (fan_in + fan_out));
    return tf.random_uniform((fan_in, fan_out), minval = low, maxval = high, dtype = tf.float32);


class AdditiveGaussianNoiseAutoencoder(object):
	def __init__(self, n_input, n_hidden, transfer_function=tf.nn.softplus,optimizer = tf.train.AdamO
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值