- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想将目标函数中的感知损失添加到 MSE 损失中。我为此编写了以下代码:
def custom_objective(y_true, y_pred):
tosub = K.constant([103.939, 116.779, 123.68])
y1 = vgg_model(y_pred * 255. - tosub)
y2 = vgg_model(y_true * 255. - tosub)
loss2 = K.mean(K.square(y2 - y1), axis=-1)
loss1 = K.mean(K.square(y_pred - y_true), axis=-1)
loss = loss1 + loss2
return loss
问题是 loss1
的形状类似于 (BatchSize, 224, 224)
,但 loss2
的形状是 >(BatchSize, 7, 7)
,所以它给了我关于不兼容形状的错误,这是正确的。我想知道如何正确添加这两个?我应该先解开吗?以及如何?
最佳答案
损失函数应该总是返回一个标量(批处理中的每个样本或整个批处理),因为我们想要最小化它(即你不能最小化向量,除非你定义了“最小化一个向量”的意思。向量”)。因此,将其简化为标量的一种简单方法是取所有轴的平均值,但批处理轴除外,该轴在内部进行平均:
loss2 = K.mean(K.square(y2 - y1), axis=[1,2,3])
loss1 = K.mean(K.square(y_pred - y_true), axis=[1,2,3])
loss = loss1 + loss2
更新:让我澄清一下,如果损失函数返回一个向量甚至一个 n 维数组,这是可以的(实际上上面的损失函数返回一个长度为 batch_size
的向量),但请记住最后 Keras takes the average of returned values这就是损失的实际值(value)(将被最小化)。
关于machine-learning - Keras 中两个损失的总和(感知和 MSE),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54055269/
我正在寻找 GradientBoostingClassifier在 sklearn .然后,我发现有 3 种标准。弗里德曼 mse,mse,mae。sklearn提供的描述是: The functio
我正在训练一个在最后一层具有连续输出的卷积网络。最后一层有 4 个节点。我使用均方误差作为损失函数。作为检查,我使用了 Tensorflow 的均方误差。对于第一个纪元的第一批,这只给出了相同的结果。
起因 我有个网站A【蓝色服务】,要对网站A进行改版【绿色服务】,其中用户中心已经改完了,希望当用户访问时,如果http请求头中包含isGroup,并且isGroup=1时,去新的绿色服务,反之就还是
我有 2 个张量 .size的 torch.Size([2272, 161]) .我想得到它们之间的均方误差。但是,我希望它沿着 161 个 channel 中的每一个,以便我的误差张量具有 .siz
在使用元启发式算法的聚类分析论文中,许多都优化了均方量化误差 (MSE)。例如在 [1]和 [2] . 我对结果感到困惑。他们告诉他们已经使用 MSE 作为目标函数。但是他们已经报告了欧几里德距离的簇
假设有两个张量列表: r1 = K.variable(1) r2 = K.variable(2) v1 = K.variable(3) v2 = K.variable(4) l1 = [r1,r2]
我是随机森林新手,我有一个关于回归的问题。我正在使用 R 包 randomForests 来计算 RF 模型。 我的最终目标是选择对预测连续性状很重要的变量集,因此我正在计算一个模型,然后删除准确度平
有人能指出这个项目 ( Managed Service Engine ) 是否已被放弃吗? 我需要决定是否将其用作我的企业服务虚拟化计划的一部分。我目前看到来自 Microsoft 的许多竞争解决方案
我正在训练一个 keras 模型,它的最后一层是单个 sigmoid单元: output = Dense(units=1, activation='sigmoid') 我正在用一些训练数据训练这个模型
我试图从我抓取的数据集中预测一些价格。我从未为此使用过 Python(我通常使用 tidyverse ,但这次我想探索 pipeline 。 所以这是代码片段: import pandas as pd
我正在使用 scikit learn 创建回归模型。现在我想知道如何评估均方误差是否合理或不好? 例如,当我进行交叉验证时,训练数据模型的测试数据的 MSE 为 0.70。分数合理还是不好? 计算模型
我试图显示使用getUserMedia从网络摄像头获取的MediaStream,并使用可能的播放机制将其中继到远程对等设备(作为实验)。我不是直接使用webRTC,因为我想控制原始数据。 我遇到的问题
我正在使用 scikit learn 创建回归模型。现在我想知道如何评估均方误差是否合理或不好? 例如,当我进行交叉验证时,训练数据模型的测试数据的 MSE 为 0.70。分数合理还是不好? 计算模型
我不确定这是否是问这个问题的正确地方,但是在哪里可以找到有关如何计算两个图像的 MSE 的分步指南? 我知道公式是什么,但不知道如何付诸实践。 最佳答案 在 C 语言中你可能会这样做: int sum
我正在构建一个使用 MSE 作为误差函数的卷积自动编码器。图像的 MSE 是如何定义的?如果图像以简单矩阵形式呈现,MSE 是否只是各个行列式之差的平方?或者是矩阵之差的行列式的平方? 最佳答案 计算
我得到了不同的 mse 结果。在训练过程中,我在最后一个训练周期后得到 0.296,当我评估我的模型时,我得到 0.112。有谁知道为什么会这样吗? 这是代码: model = Sequential(
假设您有一个代表自动编码器 (AE) 的网络。假设它有 90 个输入/输出。我想用大小为 100 的批处理对其进行批量训练。我将用 x 表示我的输入,用 y 表示我的输出。 现在,我想使用 MSE 来
我正在使用 Scikit-learn 库进行线性回归。一切都简单明了。只需 6 行代码,我就可以完成这项工作。不过,我想知道到底发生了什么。 由于我是机器学习的初学者,也许我的问题是错误的,但我想知道
训练期间 MSE 是否有可能增加? 我目前正在计算每个时期验证集的 MSE,在某个点,MSE 开始增加而不是减少。有人对这种行为有解释吗? 最佳答案 回答您的问题:是的,有可能。 如果您使用正则化或随
我的特征向量大小为 1x4098。每个特征向量对应一个 float (温度)。在训练中,我有 10,000 个样本。因此,我的训练集大小为 10000x4098,标签为 10000x1。我想使用线性回
我是一名优秀的程序员,十分优秀!