问题标签 [loss]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
lua - Torch,如何在批量优化期间获得损失值的张量
我正在训练一个对我的训练集进行批量优化的网络,我想获得一个包含每个训练示例损失的损失向量。
更具体地说,我正在使用3x64x64
一批大小为 64 的图像(大小)。因此我的输入是一个大小的张量64x3x64x64
。
在我写作的训练中
loss
是一个数字,但我想获得一个张量(大小为 64),在我的批次中每个图像都有一个条目,对应于这个精确图像的损失值。
有没有办法在不循环输入张量的第一维的情况下做到这一点?
tensorflow - 张量流中定义的损失函数?
在我的项目中,负例远远多于正例,所以我想给正例更大的权重。我的目标是:
如何在张量流中实现这一点[?]
tensorflow - 如何在 TensorFlow 中实现 Kullback-Leibler 损失?
我需要最小化tensorflow中的KL 损失。
我试过这个功能tf.contrib.distributions.kl(dist_a, dist_b, allow_nan=False, name=None)
,但我失败了。
我试图手动实现它:
这是正确的吗?
deep-learning - 计算网络两个输出之间的 cosine_proximity 损失
我正在使用 Keras 2.0.2 功能 API (Tensorflow 1.0.1) 来实现一个网络,该网络接受多个输入并产生两个输出a
和b
. 我需要使用 cosine_proximity 损失来训练网络,这b
就是a
. 我该怎么做呢?
在这里分享我的代码。最后一行model.fit(..)
是有问题的部分,因为我本身没有标记数据。标签由模型本身产生。
loss - 关于 torch.nn.CrossEntropyLoss 参数形状
我正在学习 pytorch,并参加基于 tensorflow 的 anpr项目 (https://github.com/matthewearl/deep-anpr,http://matthewearl.github.io/2016/05/06/cnn-anpr / ) 作为练习,移植到pytorch平台。
有一个问题,我使用 nn.CrossEntropyLoss() 作为损失函数:
模型的 output.data 是:
和targets.data是:
当我打电话时:
发生错误,信息是:
调用 loss=criterion(output,targets),错误是:
我最后一个练习是mnist,一个pytorch的例子,我做了一点修改,batch_size是4,损失函数:
输出数据:
标签.数据:
标签,对于输入图像,必须是单个元素,在上例中,有 253 个数字,而在 'mnist' 中,只有一个数字,输出的形状与标签不同。
我查看了 tensorflow 手册 tf.nn.softmax_cross_entropy_with_logits,“Logits 和标签必须具有相同的形状 [batch_size, num_classes] 和相同的 dtype(float32 或 float64)。”
pytorch 是否支持 tensorflow 中的相同功能?
很多想法
keras - Keras:如何评估具有多个输出层的网络在优化过程中的损失?
我在 Keras 中使用功能 API 来构建具有多个输出层的神经网络模型。我想知道在优化期间更新权重时如何评估损失(进行反向支持时)。假设使用相同的损失函数,那么所有输出的平均损失是用于最小化成本函数还是单独评估每个输出以更新权重?
提前致谢!
torch - 如何在 PyTorch 中使用 BCELoss?
我想在 PyTorch 中编写一个简单的自动编码器并使用BCELoss,但是,我得到了 NaN,因为它期望目标在 0 和 1 之间。有人可以发布一个简单的 BCELoss 用例吗?
testing - 多次执行评估会在 TensorFlow 中产生不同的损失
我开始使用 TensorFlow。 https://www.tensorflow.org/get_started/
当我多次评估如何提供数据时,我发现损失随着执行而变化。
例如,我有以下损失:
当 batch_size == 2, num_epochs == 2 时为 0.024675447 或 0.030844312
当 batch_size == 4, num_epochs == 2 时为 0.020562874 或 0.030844312
当 batch_size == 4, num_epochs == 1 时为 0.015422156 或 0.030844312
这种现象正常吗?我不明白它背后的原理。
--- 添加了以下内容
当我使用 next_batch 和 eval() 而不像在https://www.tensorflow.org/get_started/mnist/pros中那样重新训练时,也会发生同样的事情。当我运行以下单元格时:
我有
一个)
测试精度 0.99
测试精度 0.997
测试精度 0.986
测试精度 0.993
测试精度 0.994
测试精度 0.993
测试精度 0.995
测试精度 0.995
测试精度 0.99
测试精度 0.99
b)
测试精度 0.99
测试精度 0.997
测试精度 0.989
测试精度 0.992
测试精度 0.993
测试精度 0.992
测试精度 0.994
测试精度 0.993
测试精度 0.993
测试精度 0.99
他们(和他们的平均值)不断变化。
keras - 为什么我的 keras 自定义指标不起作用?
为什么此代码对于损失函数可以正常工作,但在一次迭代后指标失败,出现“ValueError:操作数无法与形状 (32,) (24,) (32,)”一起广播?
如果我在引号中使用“categorical_crossentropy”,那么它可以工作。我的自定义指标看起来与 keras.losses 中的指标相同。
tensorflow - 在达到 NaN 损失后恢复检查点?
我正在训练一个 RNN,有时在一夜之间损失函数达到了 NaN。我一直在阅读,解决这个问题的方法是降低学习率。当尝试从我拥有的(唯一的)检查点重新开始训练并使用较小的学习率时,我仍然得到 NaN。这是否意味着我的检查站无法修复?有没有办法恢复这个或使用 tf.train.Saver 以保证我在模型到达不归路之前得到一个版本?