问题标签 [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.
neural-network - 如何结合 tf.absolute 和 tf.square 在 Tensorflow 中创建 Huber 损失函数?
准确地说,我要找的损失函数是绝对误差小于0.5时的平方误差,绝对误差大于0.5时是绝对误差本身。这样,误差函数的梯度不会超过 1,因为一旦平方误差函数的梯度达到 1,绝对误差函数就会启动,梯度保持恒定在 1。我在下面包含了我当前的实现. 出于某种原因,它给我的性能比平方误差更差。
choice_maker_sqr
是一个列张量,只要误差在 0.5 和 -0.5 之间,它就是一个。这些名称非常不言自明。
caffe - caffe 中的一个特殊损失函数
我有一种欧几里得损失函数,它是:
是y_{ji}
caffe的输出,是k_{ji}
真实的输出值,i
是itemsj
的index,是samples的index。
问题是关于获取参数值c_i
和p_i
.
当我有c_i = c_q for all i \neq q
时,类似地p_i
,我只是将它们的值作为损失层的参数(我在 caffe.proto 中添加了两个新参数)。但是,问题是现在我有大约 300 个项目,因此将它们作为损失层参数是不合理的。我试图在损失层中获取它们的值,我的意思是我试图bottom layer
为损失层添加另一个,但它给出了一个错误。我被困在这里!
请指导我如何解决这个问题。
提前致谢, 阿夫辛
packet - 无法从默认网关访问消息目标主机
我有一些PC (win) + 服务器 + 网络打印机都连接到同一个交换机并且都配置在同一个子网中。
当交换机未连接到上行链路时,一切正常(我的办公室与世界其他地方隔离)。但是当我们连接上行链路(到其他交换机)时,我们会随机丢失数据包。
如果我 ping 我的子网(我的 PC !!!)我会从默认网关 (???) 收到随机临时消息“无法访问目标主机”,但如果我在子网之外 ping 我没有丢包。当我在我的 ARP 表中收到“主机无法访问消息”时,我会在我正在 ping 的 IP 上看到默认网关 MAC 地址 (???)。
这是怎么回事?谢谢
java - 下载和base64编码后显着的jpeg质量损失
我的应用程序下载 Facebook 用户的 jpeg 个人资料图片,并对其进行 base64 编码。解码时,生成的 jpeg 质量和大小会显着降低。我该如何避免这种情况?
这是我下载/编码的方式:
当我获取 imageData 的值并对其进行解码时,图像比原始下载 URL 中的图像小得多。
tensorflow - 在 Tensorflow 中,作为学习过程的一部分,如何将神经网络中的分数转换为离散值
你好,张量流同胞!
我有以下架构:
我输入了一些连续变量(实际上是我从 google word2vec 获取的词嵌入),并且我试图预测可以被视为连续和离散的输出(对不起,数学家!但这实际上取决于一个人的训练目标)。输出取值从 0 到 1000,间隔为 0.25(或精度超参数),因此:0, 0.25, 0.50, ..., 100.0。
我知道不可能包含像 tf.to_int (如果有必要我可以省略分数)或 tf.round 之类的东西,因为它们是不可微的,所以我们不能反向传播。但是,我觉得有一些解决方案可以让网络“知道”它正在寻找四舍五入的解决方案:一些整数的小部分,比如 0.25、5.75,但我实际上什至不知道去哪里找。我查了量化,但这似乎有点矫枉过正。
所以我的问题是:
- 如何通知图表我们不接受低于 0.0 的值?在网络输出“logits”(回归预测)上做 abs 是否值得考虑?如果不是,我是否可以修改损失项以严厉惩罚低于 0 的分数并使用绝对误差而不是平方误差?我可能不知道这样做的全部后果
- 我不在乎 4.5 的预测是 4.49999 还是 4.4,因为我将预测四舍五入到最接近的 0.25 以获得准确性,这是我最终的模型评估指标。如果可以,我可以使用吗?
precision = 0.01 # so that sqrt(precision) == 0.1
loss=tf.reduce_mean(tf.max(0, tf.square(tf.sub(logits, targets)) - precision ))
python - 如何在 Keras 中创建每个样本都不同的自定义损失函数
我有例如 100 个样本(100 个输出)。我想为每个样本编写带有“权重”的自定义损失函数:
其中 f 是自定义数值函数(例如j**2
)。我该怎么做现在我只能创建“通用”损失函数(没有“权重”):
问题是我无法获得索引 (j)。
mysql - mysql如何将数据发送到两个服务器
我有一些数据日志发送到 server1 上的 mySQL 数据库。有时,由于电源故障,server1 会关闭。我需要将日志发送到 server2 上的 mySQL 数据库,然后在服务器 1 启动时同步所有内容,因此不会丢失任何日志。这是可能的事情,还是你推荐别的东西?
tensorflow - 如何解释损失和准确性的增加
我已经使用 tensorflow 运行了深度学习模型(CNN)。在这个时代,我多次观察到损失和准确性都增加了,或者两者都减少了。我的理解是两者总是成反比的。可能是同时增加或减少的情况。
matlab - MATLAB 中的损失函数
我想知道如何在 MATLAB 中解释损失函数的结果?
换句话说,例如,如果我得到 0.3247 作为 kfoldLoss() 函数的结果,这意味着它是 32.47% 的错误还是 0.3247%,或者我如何正确定义/解释这个获得的结果?
非常感谢您提前
java - java - android UDP不可靠性
我在使用 Android 时遇到了极端的UDP 数据包丢失,这没有任何意义。情况如下:
- 运行连接到家庭网络的 java 客户端的 PC
- 运行连接到家庭网络的 java 服务器 (android) 的手机
- 家用路由器是全新的WRT1900ac。网络具有互联网连接。
- UDP 数据包很小(< 15 字节)
症状:
如果 PC 将 UDP 数据包发送到另一台 PC(都在同一网络上),它工作得很好(几乎没有数据包丢失)。
如果 Android 将 UDP 数据包发送到同一网络上的 PC,它也可以很好地工作(几乎没有数据包丢失)。
如果 PC 在同一网络上将 UDP 发送到 Android,我会出现极端的数据包丢失(50% 或更多的时间 - 但它会有所不同)。
大多数时候,我被迫发送数据包 10 次才能通过。其他时间都经过了相当长的延迟。非常奇怪的行为,只发生在 android 的接收端。如果我用在 java 上运行相同代码的 pc替换android 或者只是通过 Packet Sender 的 UDP 服务器接收数据包,我没有丢失问题。我注意到的另一件事是,如果不是通过路由器,而是通过另一个没有互联网连接或没有其他客户端的接入点,性能似乎会显着提高。这是意料之中的,但我的问题是为什么 Android 的接收端表现如此糟糕并丢失了这么多数据包。当 Android 被另一台运行相同代码并在同一网络上的 PC 替换时,没有问题。发送Android
数据包也没有问题(没有数据包丢失)。因此,在接收端它必须是其他与 android 相关的东西......
我也尝试用 Packet Sender 替换 PC 代码,我得到了相同的结果。问题似乎是Android的接收端。我在 PC 端和 android 上运行相同的 UDP 代码。
UDP发送代码很简单:
android 上的 UDP 接收代码位于 UDP 服务器类中:
UDPServer.java 类通过主活动“onCreate()”方法实例化: