sequence_loss_by_example(logits, targets, weights)

该博客探讨了TensorFlow中的sequence_loss_by_example函数,该函数计算加权交叉熵损失,适用于处理序列数据。logits参数为[batch_size x num_decoder_symbols]的2D Tensor列表,返回值为每个序列example的损失。与sequence_loss不同,后者是对前者结果的求和。文章还介绍了logits、targets的形状,并讨论了函数如何计算损失值。
摘要由CSDN通过智能技术生成

这个函数用于计算所有examples(假设一句话有n个单词,一个单词及单词所对应的label就是一个example,所有example就是一句话中所有单词)的加权交叉熵损失,logits参数是一个2D Tensor构成的列表对象,每一个2D Tensor的尺寸为[batch_size x num_decoder_symbols],函数的返回值是一个1D float类型的Tensor,尺寸为batch_size,其中的每一个元素代表当前输入序列example的交叉熵。另外,还有一个与之类似的函数sequence_loss,它对sequence_loss_by_example函数返回的结果进行了一个tf.reduce_sum运算,因此返回的是一个标称型float Tensor。
进一步理解:
logits 的shape = [batch_size*numsteps, vocab_size], vocab_size是(分类)类别的个数
targets 的shape = [batch_size*num_steps]
sequence_loss_by_example的做法是,针对logits中的每一个num_step,即[batch_size, vocab_size], 对所有vocab_size个预测结果,得出预测值最大的那个类别,与target中的值相比较计算Loss值

http://blog.csdn.net/u012436149/article/details/52874718

# Defines a list of `num_steps&
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值