我的目标是构建一个生成性对抗网络,它生成一个分类变量的真实序列,类似于1。为了使用生成器生成分类序列,我需要使用Gumbel_Softmax激活来确保反向传播仍然有效。我在TensorFlow2.1中找不到预先制定的Gumbel_softmax激活函数,只找到tfp.distributions.RelaxedOneHotCategorical,它应该可以解决我的问题。
在我的例子中,我想生成一个二进制变量序列。你能给我一个如何在tensorflow functional API中实现这一功能的代码示例吗?
也许您可以从我当前的代码中了解我的目标:
generator():
inputs = Input(latent_dim,)
x = Dense(t_steps* no_states, activation='relu')(inputs)
x = Reshape((t_steps, no_states))(x)
x = tfpl.RelaxedOneHotCategorical(temperature=t, logits=no_states, Batch_shape=t_steps)
outputs=x
noise = Input(shape=(latent_dim,))
inp = model(noise)
return Model(noise, inp)1 Kusner等人的Gumbel-softmax分布的离散元素序列的GANS。2016年
发布于 2020-04-01 01:54:35
我已经为Tensorflow 2+构建了一个自定义的GumbelSoftmax层。
在使用GAN时,据说最好使用逆温度参数,即乘以y * tau而不是y / tau。
https://github.com/gugarosa/nalp/blob/master/nalp/models/layers/gumbel_softmax.py
https://stackoverflow.com/questions/60543831
复制相似问题