Python 其中是tensorflow中带有逻辑函数的稀疏\u softmax\u交叉\u熵\u的原始编码

Python 其中是tensorflow中带有逻辑函数的稀疏\u softmax\u交叉\u熵\u的原始编码,python,tensorflow,softmax,cross-entropy,Python,Tensorflow,Softmax,Cross Entropy,我想知道张量流函数在数学上到底在做什么。但我找不到编码的来源。 您能帮助我吗?在head版本(从今天起)中,您可以在第424行找到函数 评论说: 测量离散分类任务中的概率误差 这些类是相互排斥的(每个条目都在 一节课)。例如,每个CIFAR-10图像都有一个标签 而且只有一个标签:图像可以是狗或卡车,但不能两者兼而有之 在head版本中(截至今天),您可以在第424行找到函数 评论说: 测量离散分类任务中的概率误差 这些类是相互排斥的(每个条目都在 一节课)。例如,每个CIFAR-10图像都有一

我想知道张量流函数在数学上到底在做什么。但我找不到编码的来源。 您能帮助我吗?

在head版本(从今天起)中,您可以在第424行找到函数

评论说:

测量离散分类任务中的概率误差 这些类是相互排斥的(每个条目都在 一节课)。例如,每个CIFAR-10图像都有一个标签 而且只有一个标签:图像可以是狗或卡车,但不能两者兼而有之

在head版本中(截至今天),您可以在第424行找到函数

评论说:

测量离散分类任务中的概率误差 这些类是相互排斥的(每个条目都在 一节课)。例如,每个CIFAR-10图像都有一个标签 而且只有一个标签:图像可以是狗或卡车,但不能两者兼而有之


实施的最重要部分是从第132行开始

此函子由函数调用


它使用了Eigen的一个没有很好文档记录的特性,称为generators,允许编写相当灵活的代码,并让它为CPU和nvcc为GPU编译。

实现的最重要部分是从第132行开始

此函子由函数调用

它使用了Eigen的一个没有很好文档记录的特性,称为generators,允许编写相当灵活的代码,并让它为CPU和nvcc为GPU进行编译。

相当于以下的数值稳定版本:

-1.*tf.gather(tf.log(tf.nn.softmax(logits)),目标)

或者,在更“可读”的numpy代码中:

-1.*np.log(softmax(logits))[target]

其中
softmax(x)=np.exp(x)/np.sum(np.exp(x))

即,它计算所提供的logit的softmax,获取其日志以检索日志概率,并对日志概率进行切片以检索目标的日志概率

然而,它通过向一些操作中添加小值,以一种数值稳定的方式(这里可能会出现一些错误)。这意味着,计算上述详细版本只会得到与
nn大致相同的值。稀疏\u softmax\u cross\u entropy\u与
(运行一些测试表明差异始终小于2e-6)。

相当于以下数值稳定版本:

-1.*tf.gather(tf.log(tf.nn.softmax(logits)),目标)

或者,在更“可读”的numpy代码中:

-1.*np.log(softmax(logits))[target]

其中
softmax(x)=np.exp(x)/np.sum(np.exp(x))

即,它计算所提供的logit的softmax,获取其日志以检索日志概率,并对日志概率进行切片以检索目标的日志概率

然而,它通过向一些操作中添加小值,以一种数值稳定的方式(这里可能会出现一些错误)。这意味着,计算上述详细版本只会得到与
nn.稀疏\u softmax\u交叉\u熵\u与\u logits
大致相同的值(运行一些测试表明差异始终小于2e-6)