(1)变分自编码器(Variational AutoEncoder, VAE)|系统解读Keras实现Generative Deep Learning
完整代码见附录 1.设置 import numpy as np import tensorflow as tf from tensorflow import keras from tensorflow.keras import layers 2.创建采样层 class Sampling(layers.Layer): “””Uses (z_mean, z_log_var) to sample z, the vector encoding a digit.””” def call(self, inputs): z_mean, z_log_var = inputs batch = tf.shape(z_mean)[0] dim = tf.shape(z_mean)[1] epsilon = tf.keras.backend.random_normal(shape=(batch, dim)) return z_mean + tf.exp(0.5 * z_log_var) * epsilon 3.构建编码器 latent_dim = 2 encoder_inputs = keras.Input(shape=(28, 28, 1)) ...