cross-entropy相关内容
我要打印模型在每个纪元的验证损失,获取和打印验证损失的正确方式是什么? 是这样的吗: criterion = nn.CrossEntropyLoss(reduction='mean') for x, y in validation_loader: optimizer.zero_grad() out = model(x) loss = criterion(out, y) loss
..
pytorch 教程(https://pytorch.org/tutorials/beginner/blitz/cifar10_tutorial.html#sphx-glr-beginner-blitz-cifar10-tutorial-py)训练一个卷积神经网络(CNN)在 CIFAR 数据集上. class Net(nn.Module):def __init__(self):super(N
..
在考虑将输入分类为 2 个类别之一的问题时,我看到的 99% 的示例使用具有单个输出和 sigmoid 的 NN 作为激活,然后是二元交叉熵损失.我想到的另一个选择是让最后一层产生 2 个输出并使用 C=2 类的分类交叉熵,但我从未在任何示例中看到它.有什么原因吗? 谢谢 解决方案 如果你在两个输出网络之上使用 softmax 你会得到一个数学的输出相当于在顶部使用带有 sigmoi
..
默认情况下,PyTorch 的 cross_entropy 将 logits(模型的原始输出)作为输入.我知道 CrossEntropyLoss 将 LogSoftmax (log(softmax(x))) 和 NLLLoss(负对数似然损失)组合在一个类中.所以,我想我可以使用 NLLLoss 从概率中获得交叉熵损失,如下所示: 真实标签:[1, 0, 1] 概率:[0.1, 0.9],
..
我想知道为什么在 Tensorflow 1.5.0 及更高版本中,softmax_cross_entropy_with_logits_v2 默认为反向传播到标签和 logits.在哪些应用/场景中您希望反向传播到标签中? 解决方案 我看到下面的 github issue 提出了同样的问题,你可能想关注它以备将来更新. https://github.com/tensorflow/min
..
我有一个生成 4D 输出张量的网络,其中空间维度(~像素)中每个位置的值将被解释为该位置的类概率.换句话说,输出是(num_batches, height, width, num_classes).我有相同大小的标签,其中真正的类被编码为 one-hot.我想使用它来计算 categorical-crossentropy 损失. 问题 #1:K.softmax 函数需要一个 2D 张量 (n
..
我正在学习神经网络,我想在 python 中编写一个函数 cross_entropy.它被定义为 其中N为样本数,k为类数,log为自然数对数,如果样本i在j类中,t_i,j为1,否则0,p_i,j 是样本i 属于j 类的预测概率.为了避免对数的数值问题,将预测剪裁到 [10^{−12}, 1 − 10^{−12}] 范围. 根据上面的描述,我通过将预测裁剪到 [epsilon, 1
..
虽然上述两种方法都为更好的预测接近度提供了更好的分数,但仍然首选交叉熵.是在每种情况下还是在某些特殊情况下我们更喜欢交叉熵而不是 MSE? 解决方案 分类首选交叉熵,而回归的均方误差是最佳选择之一>.这直接来自问题本身的陈述 - 在分类中,您使用非常特殊的一组可能的输出值,因此 MSE 定义错误(因为它没有这种知识,因此以不兼容的方式惩罚错误).为了更好地理解现象,最好遵循并理解它们之间的
..
我开始使用 tensorflow(来自 Caffe),并且我正在使用损失sparse_softmax_cross_entropy_with_logits.该函数接受像 0,1,...C-1 这样的标签,而不是 onehot 编码.现在,我想根据类标签使用权重;我知道如果我使用 softmax_cross_entropy_with_logits(一种热编码),这可能可以通过矩阵乘法来完成,有没有办法
..
所有这些交叉熵损失之间有什么区别? Keras 正在谈论 二元交叉熵 分类交叉熵 稀疏分类交叉熵 虽然 TensorFlow 有 Softmax 交叉熵与 logits 使用 logits 的稀疏 softmax 交叉熵 Sigmoid 交叉熵与 logits 它们之间有什么区别和关系?它们的典型应用是什么?数学背景是什么?还有其他应该知道的交叉熵类型吗?有没
..
当试图用sigmoid激活函数得到交叉熵时, loss1 = -tf.reduce_sum(p*tf.log(q), 1) loss2 = tf.reduce_sum(tf.nn.sigmoid_cross_entropy_with_logits(labels=p, logits=logit_q),1) 但是在使用 softmax 激活函数时它们是相同的. 以下是示例代码:
..
在下面的 TensorFlow 函数中,我们必须在最后一层输入人工神经元的激活.我明白.但我不明白为什么它被称为logits?这不是数学函数吗? loss_function = tf.nn.softmax_cross_entropy_with_logits(logits = last_layer,标签 = target_output) 解决方案 Logits 是一个重载的术语,可以表示许多不
..
我最近遇到了 tf.nn.sparse_softmax_cross_entropy_with_logits 我可以不知道与 tf.nn.softmax_cross_entropy_with_logits 相比有何不同. 唯一的区别是训练向量 y 必须是 one-hot 编码 使用 sparse_softmax_cross_entropy_with_logits 时? 阅读 API 时,
..
分类问题,例如逻辑回归或多项式逻辑回归,优化交叉熵损失.通常,交叉熵层跟在softmax层之后,产生概率分布. 在tensorflow中,至少有十几种不同的交叉熵损失函数: tf.losses.softmax_cross_entropy tf.losses.sparse_softmax_cross_entropy tf.losses.sigmoid_cross_entropy t
..
我只使用 Dense 层编写了一个普通的自动编码器.下面是我的代码: iLayer = Input ((784,))layer1 = Dense(128, activation='relu' ) (iLayer)layer2 = Dense(64, activation='relu') (layer1)layer3 = Dense(28, activation ='relu') (layer2)
..
我想知道tensorflow函数是什么sparse_softmax_cross_entropy_with_logits 在数学上正是这样做的.但我找不到编码的来源.你能帮我吗? 解决方案 sparse_softmax_cross_entropy_with_logits 相当于以下的数值稳定版本: -1.* tf.gather(tf.log(tf.nn.softmax(logits))
..
我想知道 TensorFlow 的 softmax_cross_entropy_with_logits 是否有等效的 PyTorch 损失函数? 解决方案 TensorFlow 的 softmax_cross_entropy_with_logits 是否有等效的 PyTorch 损失函数? torch.nn.functional.cross_entropy 这将 logit
..
tf.nn.softmax_cross_entropy_with_logits 和 tf.losses.log_loss 之间的主要区别是什么?两种方法都接受 1-hot 标签和 logits 来计算分类任务的交叉熵损失. 解决方案 这些方法在理论上没有太大区别,但在实现上有很多不同: 1) tf.nn.softmax_cross_entropy_with_logits 设计用于单类
..
我已经测试过“softmax_cross_entropy_with_logits_v2"随机数 将 tensorflow 导入为 tfx = tf.placeholder(tf.float32,shape=[None,5])y = tf.placeholder(tf.float32,shape=[None,5])softmax = tf.nn.softmax_cross_entropy_wit
..
好的,我准备运行 tf.nn.softmax_cross_entropy_with_logits() Tensorflow 中的函数. 我的理解是“logits"应该是概率张量,每个张量对应于某个像素的概率,即它是最终将成为“狗"或“卡车"或其他任何图像的一部分.. 有限数量的东西. 这些 logits 将被插入到这个交叉熵方程中: 据我所知,logits 被插入到等式的右侧.也
..