问题标签 [keras-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.

0 投票
0 回答
265 浏览

pandas - theano 函数的错误输入参数:“使用序列设置数组元素。”

我正在使用带有 Theano 后端的 Keras,以下代码会引发标题中提到的错误。

生成的错误如下所示:

让您了解 X 和 Y 的尺寸。

我真的很感激任何帮助。谢谢。

0 投票
1 回答
639 浏览

deep-learning - Keras- LSTM- 输入大小错误

我有不同长度的输入。(以下是示例输入)

所以,我已经填充了输入序列如下 -

现在我需要将输入重塑为 [samples, time step, features] 以根据 keras 文档实现 LSTM 层。

但是当我将输入填充数组重塑为 -

X_reshape = X_padd.reshape(X_padd.shape[1], max_sequence_length, X_padd.shape[0])

它引发以下错误。请帮我解决这个问题。谢谢。

- - - 更新 - - -

在将数据拟合到模型时,以下是我得到的错误-

异常:检查模型输入时出错:预期 lstm_input_4 具有形状 (None, 10418, 694) 但得到的数组具有形状 (10418, 694, 1)

0 投票
1 回答
865 浏览

python - 从瓶颈特征训练密集层与冻结除最后一层之外的所有层 - 应该相同,但它们的行为不同

作为“健全性检查”,我尝试了两种使用迁移学习的方法,我希望它们表现相同,如果不是在运行时间上,至少在结果上。

第一种方法是使用瓶颈特征(如此处所述https://blog.keras.io/building-powerful-image-classification-models-using-very-little-data.html),即使用现有的预测器在最后一个密集层之前生成特征,保存它们,然后以这些特征作为输入训练一个新的密集层。

第二种方法是用一个新的替换模型的最后一个密集层,然后冻结模型中的所有其他层。

我希望第二种方法与第一种方法一样有效,但事实并非如此。

第一种方法的输出是

它收敛迅速并产生良好的结果。

另一方面,第二种方法给出了这个:

两种方法都使用相同的模型(Inception V4)。我的代码如下:

第一种方法(瓶颈特性):

第二种方法(除最后一种外全部冻结)

我认为冻结所有网络但顶部和只训练顶部应该与使用所有网络但顶部创建在顶部之前存在的特征,然后训练一个新的密集层基本相同事物。

因此,我的代码要么不正确,要么对问题的思考不正确(或两者兼而有之……)

我究竟做错了什么?

感谢您的时间。

0 投票
1 回答
837 浏览

python - 添加 Lambda 层后无法合并 keras 模型

我有 3 个 keras 模型的列表,每个模型的输出形状为(None, 2). 我还有一个通用的 keras 基本模型来产生他们的输入。我的目标是组合这 4 个模型,但只从列表中的每个模型中获取第一个输出(因此最终输出应该具有 shape (None, 3)。当我尝试使用 Lambda 层从每个模型中提取第一个输出时出现问题模型。

如果我省略 Lambda 步骤并简单地将模型组合如下,它会创建一个模型,该模型可以提供正确的输出 shape (None, 6)

当我第一次使用 Lambda 层从每个模型中提取第一个值时,就会出现问题:

合并这些模型的正确方法是什么,同时只从每个模型中获取单个输出值?

请注意,如果我在合并模型应用它,我可以成功使用 Lambda 函数,如下所示:

但我想知道如何在合并之前应用它。

0 投票
0 回答
1885 浏览

python - 如何在 Keras 中将多个层迭代地连接成一层?

我是 Python 和 Keras 的新用户,希望您的反馈能够指导我找到解决方案。

我想连接几个循环层来训练多输入神经网络。更具体地说,我想迭代地创建多个图层并将所有图层合并为一个图层。

为此,我创建了一个训练集字典(在本例中为两个训练集):

接下来,我创建循环层和密集层,如下所示:

在哪里:

现在,我想将这两层合并为一个。根据这个答案如何在keras中连接两层?,这应该工作:

0 投票
1 回答
1176 浏览

machine-learning - Keras VGG16 底层特征提取

我正在从作为 Keras 应用程序包含的 VGG16 模型中提取较低级别的功能。这些特征作为附加分类器的预训练输入数据的单独输出导出。这个概念是从Multi-scale recognition with DAG-CNNs中借来的

使用没有分类器顶部的模型,最高级别的特征是从 block_5 拉层中提取的,使用Flatten(): block_05 = Flatten(name='block_05')(block5_pool)。这给出了一个维度为 8192. 的输出向量Flatten(),但是由于维度变得太大(内存问题),因此不适用于较低的拉动层。相反,可以使用GlobalAveragePooling2D():提取较低的拉动层(或任何其他层) block_04 = GlobalAveragePooling2D(name='block_04')(block4_pool)。然而,这种方法的问题在于,特征向量的维度越低越迅速:block_4 (512)、block_3 (256)、block_2 (128)、block_1 (64)。

什么是合适的层或设置来保留来自更深层的更多特征数据?

对于信息,模型的输出如下所示,附加分类器具有相应数量的输入。

0 投票
1 回答
4677 浏览

deep-learning - keras: ValueError: Input 0 is in compatible with layer convolution2d_11: expected ndim=4, found ndim=2

这是错误

我正在尝试对 cifar 10 进行图像分类,但根据 do docs [ https://keras.io/layers/convolutional/][1]我得到了这个错误我的答案是正确的,但我不知道为什么我收到此错误

  • 我应该使用(无,32,32,3)尺寸吗
0 投票
0 回答
519 浏览

python - 如何在 Keras 中使用屏蔽输入?

我是机器学习和 Keras 的初学者。我有 Keras 的参考代码。但是它的样式很旧,并且在最新的 keras 中不支持。所以我想重现这个参考代码。但我不知道如何使用口罩。旧式代码使用“输入”和“合并模式”,那么我如何在最新的 keras 中实现这一点?

  • 喀拉拉邦 1.2.2
  • Python 3.5.2(Anaconda 4.1.1,64 位)

更新代码

0 投票
0 回答
667 浏览

python - keras卷积层的输出形状误差

我正在 keras 中创建完全卷积网络。我有一个简单的代码

我有模型摘要

而且我有相应的训练样本量

但我得到错误

如果在 model.summary 中它是 (None, 1, 800, 1360),我无法理解为什么它期望卷积 2d_3 具有形状 (None, 1, 800, 1)。它有什么问题?请给我建议有什么问题。

0 投票
2 回答
8163 浏览

neural-network - 在 keras 或 Tensorflow 中的 LSTM 层之前添加密集层?

我正在尝试实现一个降噪自动编码器,其间有一个 LSTM 层。架构如下。

我无法理解我的输入维度应该如何实现这个架构?

我尝试了以下代码

我的 trainX 是 [650,20,1] 向量。它是一个时间序列数据,只有一个特征。

我收到以下错误