问题标签 [datashape]

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 投票
2 回答
248 浏览

python-3.x - 如何将数组从 (280, 280, 3) 重塑为 (28, 28, 3)

嗨,我试着写一个代码,我用 pygame 在屏幕上写一个数字,然后神经网络预测我写的数字。我的问题是我用 (28, 28, 3) 中的图像数组训练了我的神经网络。所以我试图重塑我的 (280, 280, 3) 数组。但是当我这样做时,我的数组是无的。我使用 Python 3.7

任何人都可以帮忙吗?

0 投票
0 回答
68 浏览

tensorflow - 输入形状不兼容

我有一个CNN-LSTM模型,其中CNN模型将具有形状(None, 301,4,1)的输入数据作为输入数据,并输出具有形状(None, 606)的数据。为了使 cnn 输出适应LSTM的输入,我添加了一个 TimeDistributed 层,它在每个窗口大小 = 100 时调用 CNN 模型,因此该层的输入形状 = (None, 100,301,4,1),然后我们有一些堆叠的LSTM层。

这是CNN模型的架构:

在此处输入图像描述

这是LSTM模型的架构:

在此处输入图像描述

该架构的代码如下:

然后只保存了 cnn_lstm_model 模型。

对于培训,这是我的代码:

其中 train_data_force_temp_X.shape = (1960, 301, 4, 1) ,PS:1960 是样本数。

但我有这个问题:

ValueError: Input 0 is in compatible with layer model_1: expected shape=(None, 100, 301, 4, 1), found shape=(None, 301, 4, 1)

我知道将错误的形状传递给 cnn_lstm_model 但我认为它会首先将数据传递给具有 shape=(None, 301, 4, 1) 的 cnn 模型,然后对于每 100 个 CNN 输出,它会调用时间分布式层并继续该过程,看来我没有正确理解该过程。

所以我的问题是:

  • 我是否必须先将数据运行到 cnn 模型中,进行预测,然后将这些输出用作 cnn_lstm 模型的输入?

  • 如何修复培训过程?

预先感谢您的帮助。