问题标签 [multi-layer]
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.
tensorflow - 无法使用 MultiRNNCell 和 dynamic_rnn 堆叠 LSTM
我正在尝试建立一个多元时间序列预测模型。我按照以下教程进行温度预测。http://nbviewer.jupyter.org/github/addfor/tutorials/blob/master/machine_learning/ml16v04_forecasting_with_LSTM.ipynb
我想通过使用以下代码将他的模型扩展到多层 LSTM 模型:
但我有一个错误说:
ValueError:尺寸必须相等,但对于 'rnn/while/rnn/multi_rnn_cell/cell_0/cell_0/lstm_cell/MatMul_1'(操作:'MatMul'),尺寸必须是 256 和 142,输入形状:[?,256], [142,512] .
当我尝试这个时:
我没有这样的错误,但预测真的很糟糕。
我定义 hidden=128
.
features = tf.reshape(features, [-1, n_steps, n_input])
(?,1,14)
具有单层外壳的形状。
我的数据看起来像这样x.shape=(594,14), y.shape=(591,1)
我很困惑如何在张量流中堆叠 LSTM 单元。我的张量流版本是 0.14。
python - 是否可以用 n 次迭代后的平均损失而不是每次迭代来优化 Tensorflow MLP?
我的网络的输入是 NxN 图像的 n 个连续像素(其中 n 与 N 相比较小),输出是 1 个像素。
损失定义为输出和期望输出之间的平方差。
我想在遍历整个图像后对平均损失使用优化器。
但是,如果我尝试在列表中收集损失并在所有迭代完成后对这些损失进行平均,将其提供给我的优化器会导致错误,因为 Tensorflow 不知道损失来自哪里,因为它不在计算图上。
c# - 使用 NHibernate 持久化实体关联对象的策略
我正在开发一个更大的应用程序,它试图遵循分层架构模式。在 DBAL 上,我使用流畅配置的 NHibernate。数据库对象有时具有如下关联:
映射如下:
现在,DBO 映射到的应用程序域实体不一定一对一地反映数据库结构。例如,Header 可能保留为 header,但 Detail 会,例如,由 DetailDbo 和 RelevantObjectDbo 的部分组成。然后应用程序在实体上做它的事情 - 发生一些细节转换,现在需要持久化。
假设我只影响了 Detail 实体中需要进入 Detail 表的部分,并且不以任何方式影响 RelevantObject 表。考虑模型的方式可能是错误的,但我们还需要对持久化的工作原理进行实际操作。所以,比如说,我只想让 NHibernate 更新 Detail 表而不“接触” RelevantObject 表上的任何内容。实际上,这正是问题所在:我如何实现这一目标?
当然,在现实中,DB 模型更大更复杂,应用程序逻辑也是如此。可能有一部分 BL 根本不处理数据的 RelevantObject 部分,因此即使 DBO 完全从数据库加载,也不是所有数据都能进入应用程序模型。但是要将数据持久化回数据库 - 似乎我需要完全水合数据库模型,但这并不总是实用的。那么,我们如何指示 NHibernate “不接触” RelevantObject——换句话说,不更新 dbo.Detail.RelevantObjectId?
我尝试将不同的 Cascade 选项应用于 DetailDbo.RelevantObject 属性,但如果它保持为空,NHibernate 总是希望将 RelevantObjectId 设置为 NULL - 我想,这是正确的。
我不明白如何在不必通过所有关联加载和保存数据库的一半的情况下对与我的 BL 的“部分”相关的数据进行更改。
谢谢!
lstm - Is it possible to implement a multilayered LSTM with LSTMCells modules in PyTorch?
In PyTorch there is a LSTM module which in addition to input sequence, hidden states, and cell states accepts a num_layers
argument which specifies how many layers will our LSTM have.
There is however another module LSTMCell which has just input size and number of hidden states as parameters, there is no num_layers
since this is a single cell in a multi-layered LSTM.
My question is what is the proper way to connect together the LSTMCell modules to achieve a same effect as a multi layered LSTM with num_layers > 1
machine-learning - 具有大量输入的反向传播
我是一个初学者,我正在尝试在 C# 中实现反向传播以用于学校目的(所以现在没有 tensorflow,我们必须手动学习它)。我有 64 个输入层节点和 64 个输出层节点,有点像自动编码器结构,因为我们稍后会讨论 MLP。
我将 Delta Output 计算为:
我已经针对 XOR 输入/输出场景测试了我的程序,它会正确猜测这种场景,但如果我将输入和输出的所有 64 个节点放入,那么它不会给我正确的预测(比如 0% 准确度)。
我也试图总计所有的 delta_out abs(delta_out)。对于 XOR 场景,随着训练的进行,delta_out 的绝对和接近于零。但是如果我选择 64 输入输出测试,那么所有 delta_out 的绝对总和从一个很小的数字开始并一直保持在那里。
对于正常工作的 XOR(我也尝试过运行良好的 OR 和 AND 测试),我使用以下结构 2 个节点用于输入,4 个节点用于隐藏,1 个节点用于输出。
对于 64 个输入和输出,我测试了隐藏层的各种节点数,从 8 个节点到 128 个节点。如果我为隐藏层使用 64 个或更多节点,那么所有 delta_out 的绝对总和即使在开始时也接近 0,并且变化太慢。
我还测试了各种学习率(隐藏层和输出层的学习率不同)。我从 0.1 到 0.75 进行了测试,但它似乎对我应该完成的 64 个输入/输出没有帮助。我还将纪元数从 100k 更改为 500k,但似乎没有任何帮助。
也许我不太了解反向传播的概念?
python-3.x - Tensorflow 中带有 LSTM 的多层 RNN
我用 Python(版本 3.6)在 Tensorflow(版本 1.5)中使用 LSTM 编写了单层 RNN。我想为这个 RNN 添加 3 个隐藏层(即一个输入层、一个输出层和三个隐藏层)。我已经阅读了有关单元格的状态、堆栈、取消堆栈等信息,但我仍然对如何将这些东西放在一起并升级我的代码感到困惑。下面是我在单层 RNN 中的代码。您能否帮我升级代码(注意:我对 Tensorflow 和 Python 很陌生 :))。`
video - 如何在 Tensorflow 中为视频序列构建多层 LSTM?
我想在 tensorflow 中构建一个 3 层 LSTM 用于视频分析。我在网上阅读了一些示例,但仍然令人困惑。任何人都可以帮助编写一个简洁的代码片段来完成如下任务:
输入:240X320 维度的 5 个连续视频帧
输出:5个标量
太感谢了。
neural-network - 如何用 MLP 训练乘法器?
我是神经网络的新手。我试图了解多层感知器可以学习实现什么样的解决方案。
是否可以仅通过给出离散数量的示例来训练 MLP 进行乘法运算?
我可以教它如何对某些数字(当然来自训练数据集的数字)进行乘法运算,但它无法正确估计其他乘法运算。
我使用了 1 个隐藏层(TanH,10 个单元)和 1 个输出层(Identity),隐藏层和输出层都有偏差,并使用 Momentum 优化器进行训练。
数据集
它为此数据集提供了正确的结果,但例如计算5 * 5
给出了错误的数字,例如32
.
我是否对 MLP 期望过高?我应该给网络什么数据集(或层设置)以便能够乘以任何给定的数字?
weka - Weka 多层感知器需要很长时间才能完成?
我有 5 个属性和 3310 个实例(隐藏层 = a),使用 70% 的百分比拆分,但是我已经离开了几个小时,它仍然停留在“在训练数据上构建模型”上。这是正常的吗?我可以等待多久才能完成。
我能做些什么让它运行得更快吗?