相关疑难解决方法(0)

什么是logits,softmax和softmax_cross_entropy_with_logits?

我在这里浏览tensorflow API文档.在tensorflow文档中,他们使用了一个名为的关键字logits.它是什么?在API文档的很多方法中,它都是这样编写的

tf.nn.softmax(logits, name=None)
Run Code Online (Sandbox Code Playgroud)

如果写的是什么是那些logitsTensors,为什么保持一个不同的名称,如logits

另一件事是我有两种方法无法区分.他们是

tf.nn.softmax(logits, name=None)
tf.nn.softmax_cross_entropy_with_logits(logits, labels, name=None)
Run Code Online (Sandbox Code Playgroud)

它们之间有什么区别?这些文档对我来说并不清楚.我知道是什么tf.nn.softmax呢.但不是另一个.一个例子将非常有用.

python machine-learning tensorflow

328
推荐指数
6
解决办法
16万
查看次数

输出层中 Softmax 激活函数的输出的计算值与实际值不匹配

在下面的代码中,我将 的Predicted Output与(使用 实现的)TF Keras Model各自的值进行比较。calculated ManuallySoftmax ActivationNumpy

令人惊讶的是,它们并不相同。我错过了什么吗?

另外,还有一个警告,

UserWarning:“sparse_categorical_crossentropy已收到 from_logits=True,但output参数是由 sigmoid 或 softmax 激活产生的,因此不代表 logits。这是有意的吗?” '“sparse_categorical_crossentropy已收到 from_logits=True,但是'

这个警告是什么意思?该警告是不匹配的原因吗?

import tensorflow as tf
import numpy as np


inputs = tf.keras.Input(shape=(784,), name="digits")
x1 = tf.keras.layers.Dense(64, activation="relu")(inputs)
x2 = tf.keras.layers.Dense(64, activation="relu")(x1)
outputs = tf.keras.layers.Dense(10, name="predictions", activation = 'softmax')(x2)
model = tf.keras.Model(inputs=inputs, outputs=outputs)


# Instantiate an optimizer.
optimizer = tf.keras.optimizers.SGD(learning_rate=1e-3)
# Instantiate a loss function.
loss_fn = …
Run Code Online (Sandbox Code Playgroud)

deep-learning keras tensorflow

7
推荐指数
1
解决办法
8515
查看次数