在编码器和解码器 keras 上拆分自动编码器

ziji

我正在尝试为以下对象创建自动编码器:

  1. 训练模型
  2. 分离式编码器和解码器
  3. 可视化压缩数据(编码器)
  4. 使用任意压缩数据获取输出(解码器)
from keras.layers import Input, Dense, Conv2D, MaxPooling2D, UpSampling2D
from keras.models import Model
from keras import backend as K
from keras.datasets import mnist
import numpy as np

(x_train, _), (x_test, _) = mnist.load_data()

x_train = x_train.astype('float32') / 255.
x_train = x_train[:100,:,:,]
x_test = x_test.astype('float32') / 255.
x_test = x_train
x_train = np.reshape(x_train, (len(x_train), 28, 28, 1))  # adapt this if using `channels_first` image data format
x_test = np.reshape(x_test, (len(x_test), 28, 28, 1))  # adapt this if using `channels_first` image data format
 input_img = Input(shape=(28, 28, 1))  # adapt this if using `channels_first` image data format

x = Conv2D(32, (3, 3), activation='relu', padding='same')(input_img)
x = MaxPooling2D((2, 2), padding='same')(x)
x = Conv2D(32, (3, 3), activation='relu', padding='same')(x)
encoded = MaxPooling2D((2, 2), padding='same')(x)

# at this point the representation is (7, 7, 32)

decoder = Conv2D(32, (3, 3), activation='relu', padding='same')(encoded)
x = UpSampling2D((2, 2))(decoder)
x = Conv2D(32, (3, 3), activation='relu', padding='same')(x)
x = UpSampling2D((2, 2))(x)
decoded = Conv2D(1, (3, 3), activation='sigmoid', padding='same')(x)

autoencoder = Model(input_img, decoded(encoded(input_img)))
autoencoder.compile(optimizer='adadelta', loss='binary_crossentropy')

autoencoder.fit(x_train, x_train,
                epochs=10,
                batch_size=128,
                shuffle=True,
                validation_data=(x_test, x_test),
                #callbacks=[TensorBoard(log_dir='/tmp/tb', histogram_freq=0, write_graph=False)]
               )

如何拆分训练它并使用训练过的权重拆分?

丹尼尔·默勒

制作编码器:

input_img = Input(shape=(28, 28, 1))

x = Conv2D(32, (3, 3), activation='relu', padding='same')(input_img)
x = MaxPooling2D((2, 2), padding='same')(x)
x = Conv2D(32, (3, 3), activation='relu', padding='same')(x)
encoded = MaxPooling2D((2, 2), padding='same')(x)

encoder = Model(input_img, encoded)

制作解码器:

decoder_input= Input(shape_equal_to_encoder_output_shape)

decoder = Conv2D(32, (3, 3), activation='relu', padding='same')(decoder_input)
x = UpSampling2D((2, 2))(decoder)
x = Conv2D(32, (3, 3), activation='relu', padding='same')(x)
x = UpSampling2D((2, 2))(x)
decoded = Conv2D(1, (3, 3), activation='sigmoid', padding='same')(x)

decoder = Model(decoder_input, decoded)

制作自动编码器:

auto_input = Input(shape=(28,28,1))
encoded = encoder(auto_input)
decoded = decoder(encoded)

auto_encoder = Model(auto_input, decoded)

现在,您可以以任何方式使用它们中的任何一个。

  1. 训练自编码器
  2. 使用编码器和解码器

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Tensorflow Keras 在自动编码器中分别使用编码器和解码器

来自分类Dev

Keras自动编码器的精度/损耗不变

来自分类Dev

keras变分自动编码器损失函数

来自分类Dev

Keras 中的有状态自动编码器

来自分类Dev

猫图像的 Keras 自动编码器的微调

来自分类Dev

Keras-组合模型如何在自动编码器上仅提取部分

来自分类Dev

在 Keras 中的数值数据集上使用自动编码器

来自分类Dev

从Encog中的自动编码器抓取编码器/解码器

来自分类Dev

Jetty Websockets的通用编码器和解码器

来自分类Dev

如何加入编码器和解码器

来自分类Dev

将多个.npy文件作为输入送入Keras编码器-解码器模型

来自分类Dev

keras 中的级联模型(自动编码器 + 分类器)

来自分类Dev

Keras-火车卷积网络,获取自动编码器输出

来自分类Dev

如何在Keras的LSTM自动编码器中获得Middel层的输出

来自分类Dev

Keras自动编码器的输入和输出层不匹配,无法运行模型

来自分类Dev

在Keras中训练变型自动编码器会引发“ InvalidArgumentError:形状不兼容”错误

来自分类Dev

使用Keras子类化创建自动编码器模型

来自分类Dev

尽管模型摘要清晰,但Keras变分自动编码器仍无法工作?

来自分类Dev

Keras flow_from_directory自动编码器培训

来自分类Dev

Keras-火车卷积网络,获取自动编码器输出

来自分类Dev

LSTM 自动编码器的可变长度输入 - Keras

来自分类Dev

在变分自动编码器中从解码器输入到编码器输出的反向传播

来自分类Dev

Keras中的变体自动编码器:在训练和预测时如何实现Keras层的不同输出?

来自分类Dev

在 pytorch 中对自动编码器进行上采样

来自分类Dev

减少自动编码器的损耗

来自分类Dev

LSTM自动编码器问题

来自分类Dev

自动编码器形状

来自分类Dev

什么是输入变压器的编码器和解码器BERT?

来自分类Dev

在运行时使用keras从自动编码器模型的隐藏图层中保存要素

Related 相关文章

  1. 1

    Tensorflow Keras 在自动编码器中分别使用编码器和解码器

  2. 2

    Keras自动编码器的精度/损耗不变

  3. 3

    keras变分自动编码器损失函数

  4. 4

    Keras 中的有状态自动编码器

  5. 5

    猫图像的 Keras 自动编码器的微调

  6. 6

    Keras-组合模型如何在自动编码器上仅提取部分

  7. 7

    在 Keras 中的数值数据集上使用自动编码器

  8. 8

    从Encog中的自动编码器抓取编码器/解码器

  9. 9

    Jetty Websockets的通用编码器和解码器

  10. 10

    如何加入编码器和解码器

  11. 11

    将多个.npy文件作为输入送入Keras编码器-解码器模型

  12. 12

    keras 中的级联模型(自动编码器 + 分类器)

  13. 13

    Keras-火车卷积网络,获取自动编码器输出

  14. 14

    如何在Keras的LSTM自动编码器中获得Middel层的输出

  15. 15

    Keras自动编码器的输入和输出层不匹配,无法运行模型

  16. 16

    在Keras中训练变型自动编码器会引发“ InvalidArgumentError:形状不兼容”错误

  17. 17

    使用Keras子类化创建自动编码器模型

  18. 18

    尽管模型摘要清晰,但Keras变分自动编码器仍无法工作?

  19. 19

    Keras flow_from_directory自动编码器培训

  20. 20

    Keras-火车卷积网络,获取自动编码器输出

  21. 21

    LSTM 自动编码器的可变长度输入 - Keras

  22. 22

    在变分自动编码器中从解码器输入到编码器输出的反向传播

  23. 23

    Keras中的变体自动编码器:在训练和预测时如何实现Keras层的不同输出?

  24. 24

    在 pytorch 中对自动编码器进行上采样

  25. 25

    减少自动编码器的损耗

  26. 26

    LSTM自动编码器问题

  27. 27

    自动编码器形状

  28. 28

    什么是输入变压器的编码器和解码器BERT?

  29. 29

    在运行时使用keras从自动编码器模型的隐藏图层中保存要素

热门标签

归档