我想构造一个变分自动编码器,其中一个样本是一个N * M矩阵,其中每一行都有M个类别。本质上,一个样本是一类分类数据,其中只能选择一个类别-一站式向量列表。
目前,我有一种适用于此类数据的自动编码器-我在最后一个维度上使用softmax来创建此约束,并且该约束有效(重构交叉熵很低)。
现在,我想使用tf.distributions创建一个变体自动编码器。我想知道哪种分配方式合适。
最佳答案
tf.contrib.distributions.Categorical是否满足您的需求?样本应为(0到n-1),其中n表示类别。
例:
#logits的形状为[N,M],其中M是类数
dist = tf.contrib.distributions.Categorical(logits = logits)
#采样20次。应给出形状[20,N]。
样本= dist.sample(20)
#depth是类别数。
one_hots = tf.one_hot(样本,深度= M)
关于python - 什么 tensorflow 分布表示分类数据列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50037919/