def generator(observed, n, n_z, is_training):
with zs.BayesianNet(observed=observed) as generator:
z_min = -tf.ones([n, n_z])
z_max = tf.ones([n, n_z])
z = zs.Uniform('z', z_min, z_max)
lx_z = tf.reshape(z, [-1, 1, 1, n_z])
ngf = 32
lx_z = tf.layers.conv2d_transpose(lx_z, ngf * 4, 3, use_bias=False)
lx_z = tf.layers.batch_normalization(lx_z, training=is_training,
scale=False)
lx_z = tf.nn.relu(lx_z)
lx_z = tf.layers.conv2d_transpose(lx_z, ngf * 2, 5, use_bias=False)
lx_z = tf.layers.batch_normalization(lx_z, training=is_training,
scale=False)
lx_z = tf.nn.relu(lx_z)
lx_z = tf.layers.conv2d_transpose(lx_z, ngf, 5, strides=(2, 2),
padding='same', use_bias=False)
lx_z = tf.layers.batch_normalization(lx_z, training=is_training,
scale=False)
lx_z = tf.nn.relu(lx_z)
lx_z = tf.layers.conv2d_transpose(
lx_z, 1, 5, strides=(2, 2), padding='same', activation=tf.sigmoid)
return generator, lx_z
评论列表
文章目录