codecamp

TensorFlow函数教程:tf.nn.sparse_softmax_cross_entropy_with_logits

tf.nn.sparse_softmax_cross_entropy_with_logits函数

tf.nn.sparse_softmax_cross_entropy_with_logits(
    _sentinel=None,
    labels=None,
    logits=None,
    name=None
)

定义在:tensorflow/python/ops/nn_ops.py。

计算logits和labels之间的稀疏softmax交叉熵。

测量离散分类任务中的概率误差,其中类是互斥的(每个条目仅在一个类中)。例如,每个CIFAR-10图像都标有一个且只有一个标签:图像可以是dog或truck,但不能同时是两者。

注意:对于此操作,给定标签的概率被认为是唯一的。也就是说,不允许使用soft类,并且labels向量必须为每一行logits(每个小批量条目)的真实类提供单个特定索引。对于每个条目的概率分布的soft softmax分类,请参阅softmax_cross_entropy_with_logits_v2

警告:此操作需要未缩放的日志,因为它在内部日志上执行softmax,以提高效率。不要使用softmax的输出调用此操作,因为它会产生不正确的结果。

常见的用例是具有shape [batch_size, num_classes]的logits和labels标签,但支持更高的维度,在这种情况下,假定第dim维度的大小为num_classes。logits必须具备float16,float32或者float64类型,并且labels必须具有int32或int64类型。

请注意,为避免混淆,需要仅将命名参数传递给此函数。

参数:

  • _sentinel:用于防止位置参数。内部,不要使用。
  • labels:Tensor,shape为[d_0, d_1, ..., d_{r-1}](其中r是labels的秩和结果)并且类型为int32或int64。每个labels中的条目必须是[0, num_classes)中的索引。当此操作在CPU上运行时,其他值将引发异常,并返回NaN,以获取GPU上相应的损失和梯度行。
  • logits:shape为[d_0, d_1, ..., d_{r-1}, num_classes]和类型为float16,float32或 float64的未缩放日志概率。
  • name:操作的名称(可选)。

返回:

一个Tensor,与labels形状相同、与具有SoftMax交叉熵损失的logits具有相同的类型。

可能引发的异常:

  • ValueError:如果logits是标量(需要秩> = 1),或者labels的秩不等于logits的秩减1。
TensorFlow函数教程:tf.nn.space_to_depth
TensorFlow函数教程:tf.nn.static_bidirectional_rnn
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

TensorFlow 函数介绍

TensorFlow 函数模块:tf

TensorFlow的image模块

TensorFlow使用之tf.io

TensorFlow使用之tf.keras

TensorFlow函数教程:tf.keras.applications

TensorFlow函数教程:tf.keras.backend

TensorFlow使用之tf.metrics

TensorFlow使用之tf.nn

TensorFlow使用之tf.python_io

TensorFlow 功能函数

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }