基于 Tensorflow 的栈式自编码器 TFSAE

码农软件 · 软件分类 · 神经网络/人工智能 · 2019-10-14 16:58:35

软件介绍

TFSAE 是基于 Tensorflow 的 Stacked AutoEncoder (栈式自编码器)。可用于数据降维、特征融合。下图是 TFSAE 将 iris 数据集中的 4 维特征融合为 2 维特征的示例:

Encoded Iris Data(2 features)Fine Tuned Encoded Iris Data(2 features)
Origin Iris Data (4 features)

TFSAE 不仅实现了基础的 AutoEncoder ,还实现了栈式的 AutoEncoder(Stacked AutoEncoder) ,可通过参数在两种模式之间切换。代码也提供了 Fine-Tuning 的功能,用于学习更好的特征。TFSAE 具有精简的接口,示例代码如下:

#coding = utf-8
from autoencoder import AutoEncoder, DataIterator

# train data
datas = [
            [1,1,1,0,0,0],
            [0,0,0,1,1,1]
        ]

# data wrapper
iterator = DataIterator(datas)

# train autoencoder
# assume the input dimension is input_d
# the network is like input_d -> 4 -> 2 -> 4 -> input_d
autoencoder = AutoEncoder()
autoencoder.fit([4, 2], iterator, stacked = True, learning_rate = 0.1, max_epoch = 5000)
autoencoder.fine_tune(iterator, learning_rate = 0.1, supervised = False)

# after training

# encode data
encoded_datas = autoencoder.encode(datas)
print "encoder ================"
print encoded_datas 

# decode data
decoded_datas = autoencoder.decode(encoded_datas)
print "decoder ================"
print decoded_datas

# reconstruct data (encode and decode data)
reconstructed_datas = autoencoder.reconstruct(datas)
print "reconstruct ================"
print reconstructed_datas

autoencoder.close()

本文地址:https://codercto.com/soft/d/16752.html

Java Web高级编程

Java Web高级编程

威廉斯 (Nicholas S.Williams) / 王肖锋 / 清华大学出版社 / 2015-6-1 / CNY 99.80

Java成为世界上编程语言之一是有其优势的。熟悉JavaSE的程序员可以轻松地进入到Java EE开发中,构建出安全、可靠和具有扩展性的企业级应用程序。编写《Java Web高级编程——涵盖WebSockets、Spring Framework、JPA Hibernate和 Spring Security》一书的目的正是如此。 《Java Web高级编程:涵盖WebSockets、Sp......一起来看看 《Java Web高级编程》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

MD5 加密
MD5 加密

MD5 加密工具

SHA 加密
SHA 加密

SHA 加密工具