首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >稀疏采样Softmax Tensorflow

稀疏采样Softmax Tensorflow
EN

Stack Overflow用户
提问于 2017-10-09 07:07:11
回答 1查看 160关注 0票数 2

如何将tf.nn.sparse_softmax_cross_entropy_with_logits转换为使用采样的softmax而不是常规的softmax?

我有一个序列序列模型与一个大的目标词汇表(500 K字),它触发OOM错误。

softmax函数的输入类似于:[batch, max_time_steps, 512]

EN

回答 1

Stack Overflow用户

发布于 2018-10-07 22:12:09

我也有同样的问题,用以下方法解决:

代码语言:javascript
复制
        labels = tf.reshape(labels, [-1, 1])
        loss = tf.nn.sampled_softmax_loss(
            weights=self.W_softmax,
            biases=self.b_softmax,
            labels=labels,
            inputs=logits,
            num_sampled=20,
            num_true=1,
            num_classes=20000,
            partition_strategy="div")

对我来说,关键是将num_sampled=20设置得相当低,512个太多了,无法容纳我的GPU内存(8GB)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46640555

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档