在下面的代码中,我将 的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)