变分自编码器原理:
1将输入图像压缩成编码(采用形式为平均值和方差的分布)
2随机上采样 ,针对编码器生成的编码随机采样
3对于随机采样的元素,进行解码转换,(按照输入图片的样式),解码生成类输入图像
1编码过程
import keras
from keras import layers
from keras import backend as K
from keras.models import Model
import numpy as np
img_shape = (28, 28, 1)
batch_size = 16
latent_dim = 2
input_img = keras.Input(shape=img_shape)
x = layers.Conv2D(32, 3,
padding='same', activation='relu')(input_img)
x = layers.Conv2D(64, 3,
padding='same', activation='relu',
strides=(2, 2))(x)
x = layers.Conv2D(64, 3,
padding='same', activation='relu')(x)
x &