问题标签 [multipleoutputs]

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.

0 投票
3 回答
6996 浏览

python - 输出 Keras 中 add_loss 添加的多个损失

我研究了变分自动编码器 (VAE) 演示的自定义损失层的 Keras 示例。在示例中它们只有一个损失层,而 VAE 的目标由两个不同的部分组成:重建和 KL-Divergence。但是,我想绘制/可视化这两个部分在训练期间如何演变,并将单个自定义损失分成两个损失层:

Keras 示例模型:

在此处输入图像描述

我的模型:

在此处输入图像描述

不幸的是,Keras 在我的多损失示例中只输出一个损失值,这可以在我的 Jupyter Notebook 示例中看到,我已经实现了这两种方法。有人知道如何获得由 增加的每个损失的值add_loss吗?此外,Keras 如何计算单个损失值,给定多次add_loss调用(均值/总和/...?)?

0 投票
1 回答
835 浏览

keras - 多输出 Keras 的回归损失函数

我正在使用深度学习方法来解决具有多输出(16 个输出)的回归问题,每个输出介于[0,1]和总和为1之间。我对哪种损失函数最适合这个问题感到困惑,我已经测试了均方误差平均绝对误差,但神经网络预测的值总是相同的。

0 投票
1 回答
498 浏览

python - 如何在 Keras 中输入最后一层预训练网络作为张量以展平

我正在尝试制作一个具有两个输出的模型,一个用于分类,另一个用于回归。我使用来自 Keras 的预训练 VGG16 作为卷积特征提取器。但是当我尝试在两个输出序列中构建下一个展平层时,我得到输入不是张量的错误。如何确保仅将卷积基础的最后一层作为输入提供给下一层?

错误 :

ValueError:使用不是符号张量的输入调用了层 flatten_1。接收类型:类 'keras.layers.pooling.MaxPooling2D'。完整输入:[keras.layers.pooling.MaxPooling2D object at 0xc2855c9b0]。该层的所有输入都应该是张量。

0 投票
3 回答
975 浏览

javascript - Javascript For Loop迭代多个输入数量限制

在我的 javascript 类的 javascript 作业作业中,该作业需要“.js”进行循环迭代以列出用户输入的宠物的名称(限制为 3)。

有三个水平间隔的文本输入框,无论用户在哪个文本框中输入宠物名称,提交按钮下方的“消息”(id)输出都会显示输入的宠物名称,直到用户施加的限制(< = 3)。一旦输入了宠物的名字并点击了提交按钮,页面将显示宠物的名字,从用户输入的最左边的文本框开始向右移动,直到用户选择的输入限制(<= 3)达到极限;因此,如果用户选择2作为限制,则提交按钮下方只会显示最左侧输入宠物名称的文本框。

到目前为止,我已经尝试将宠物 ID 和宠物名称称为 memberid ('pet' + 'cntr')、membername,并且在 for 循环迭代中它们一起被赋予 members += membered + membername; 的 id;

在本代码中,当数量限制为“1”时,只有第一个输入框在提交按钮下方的“消息”区域中显示输入的宠物名称;但是,我希望输入的宠物的名字出现在那里,无论输入的宠物的名字是在第一个和最左边的输入框中还是在它右边的两个输入框中,我希望同样如此其他数量限制(2 和 3)。

0 投票
1 回答
336 浏览

python - 如何在有多个输出时修复 ValueError(x 和 y 应该具有相同的长度)?

我正在建立一个模型,它有一个图像输入 (130,130,1) 和 3 个输出,每个输出包含一个 (10,1) 向量,其中单独应用了 softmax。

(受 J. Goodfellow、Yaroslav Bulatov、Julian Ibarz、Sacha Arnoud 和 Vinay D. Shet 的启发。使用深度卷积神经网络从街景图像中识别多位数字。CorR,abs/1312.6082,2013。URL http:// arxiv.org/abs/1312.6082,遗憾的是他们没有发布他们的网络)。

但后来我得到:ValueError: x(images tensor) 和y(labels) 应该有相同的长度。找到:x.shape = (1000, 130, 130, 1), y.shape = (3, 1000, 10)

但是,如果我将其更改为:

Then i'm getting: ValueError: Error when checking model target: the list of Numpy arrays that you are passing to your model is not the size the model expected. Expected to see 3 array(s)

  • dimension(x_train) = (1000, 130, 130, 1)
    • where each single image is (130, 130, 1) and there are 1000 images
  • dimension(y_train) = (1000, 3, 10)

In the documentation it is stated that it should be like that;

However, I don't know how you should be able to have the same length for outputs and inputs?

0 投票
0 回答
542 浏览

python - 如何从 scipy.optimize.root 获得多个输出?

我有以下类型的多个输出的非线性问题:

我正在尝试通过方法 Levenberg-Marquardt 在 Python 中解决它:

如果我没有指定输出,即F = f(x,a,b,c),该方法收敛到正确的解 x,但我无法获得其他解值,即 out1、out2、out3。

根据DOC,根函数不提供多个输出的选项,full_output=True例如 fsolve 或 bisec (它不能很好地解决我的问题)。

这是问题的简化示例:

0 投票
1 回答
1793 浏览

keras - 如何训练多输出深度学习模型?

我想我不了解多输出网络。

尽管我了解实现是如何进行的,并且我成功地训练了一个这样的模型,但我不明白如何训练多输出深度学习网络。我的意思是,训练期间网络内部发生了什么?

keras 功能 api 指南中的这个网络为例:

在此处输入图像描述

您可以看到两个输出(aux_output 和 main_output)。反向传播是如何工作的?

我的直觉是该模型进行了两次反向传播,每个输出一次。然后每个反向传播都会更新出口之前层的权重。 但这似乎不是真的:这里(SO),我得到的信息是尽管有多个输出,但只有一个反向传播;使用的损失根据输出加权。

但是,我仍然不明白网络及其辅助分支是如何训练的;辅助分支权重如何更新,因为它没有直接连接到主输出?辅助分支的根和主输出之间的网络部分是否与损失的权重有关?还是加权只影响连接到辅助输出的网络部分?

另外,我正在寻找关于这个主题的好文章。我已经阅读了 GoogLeNet / Inception 文章(v1v2-v3),因为该网络正在使用辅助分支。

0 投票
1 回答
198 浏览

python - For循环创建多个直方图png文件

我不确定为什么会发生这种情况。也许这只是一个我看不到的简单错误,但是通过使用以下代码:

我在这里获得了像这张附加照片一样创建的所有文件。

关于我做错了什么有什么想法吗?

提前致谢。 附一张直方图输出的照片

我想要的结果是这样的。

期望的输出

0 投票
1 回答
2056 浏览

sass - 使用 Webpack 4 将多个 (sass|css) 文件编译成多个 css 输出

我有一个 WP 主题项目。我正在使用 Webpack 4 编译 sass 文件并将它们与 css 合并。

项目结构

我想做这样的编译:

  1. dist/my-theme/style.css = style.sass 以正确的顺序包含 normalize.css 和 main.sass

  2. dist/my-theme/css/home/home.css = home.sass

目前我设法用第一点做了一个独特的输出。我看到有一个解决方案,extract-text-webpack-plugin但它已被 Webpack 4 弃用,所以我正在使用mini-css-extract-plugin,但我不知道如何做到这一点。

我当前的 webpack.config.js

0 投票
1 回答
100 浏览

python - 在不同时期训练不同的输出

在 Keras 中,多输出训练中的每个或部分输出的训练是否可以从不同的时期开始?例如,其中一个输出将其他一些输出作为其输入。但是一开始的那些输出还为时过早,给模型带来了巨大的计算负担。我希望将其训练推迟到一段时间后的输出是一个自定义层,它必须对其输入应用一些图像处理操作,该输入是由另一个输出生成的图像,但一开始生成的图像毫无意义,我认为第一个时代应用这个自定义层只是浪费时间。有没有办法做到这一点?就像我们对每个输出的损失都有权重一样,我们是否有不同的起点来计算每个输出的损失?