输入 0 与层 gru_13 不兼容:预期 ndim=3,发现 ndim=2

2023-12-09

我想用3CNN with 3GRU层。这是架构:

layer_a = Input(shape=(120,), dtype='float32',name='main')
layer_b = Input(shape=(9,), dtype='float32', name='site')
layer_c = Input(shape=(4,), dtype='float32', name='access')
model = Model(inputs=[layer_a, layer_b,layer_c], outputs=[layer_f])
model.compile(optimizer='adam',loss=smape_error)

但是当我尝试适应我的数据时,它会产生错误:

输入 0 与层 gru_14 不兼容:预期 ndim=3,发现 ndim=2。

不确定出了什么问题?


GRU 层需要以下维度(batch_size、seq_len、dim_per_seq) 它还返回 (batch_siz, number_of_neurons),因此为了将 2 个 GRU 依次放置,第一个 GRU 层需要设置参数 return_sequences=True。

另外,在构建 keras 模型时,使用 model.summary()(仅在错误出现之前构建部分模型)进行调试始终是一个好主意。问题常常出在意想不到的形状上。

您的架构根本不适合使用 GRU 层。首先,你不能展平张量,因为这会破坏你的序列结构。这将使连接层变得不可能。您可以将树层layer_t、layer_tt 和layer_ttt 转换并池化到相同的第二个维度(应大于1)。通过这种方式,您可以连接最后一个维度并获得具有类似形状的序列的张量,并将其放入 gru 层中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

输入 0 与层 gru_13 不兼容:预期 ndim=3,发现 ndim=2 的相关文章

  • Keras model.summary() 结果 - 了解参数数量

    我有一个简单的神经网络模型 用于使用 Keras Theano 后端 从用 python 编写的 28x28px 图像中检测手写数字 model0 Sequential number of epochs to train for nb ep
  • 优化 Keras 以使用所有可用的 CPU 资源

    好吧 我真的不知道我在说什么 所以请耐心听我说 我正在使用 Theano 后端运行 Keras 以在 MNIST 图像上运行基本的神经网络 目前只是一个教程 过去 我一直使用我的旧 HP 笔记本电脑 因为我有 Windows 和 Ubunt
  • Keras 错误:预计会看到 1 个数组

    当我尝试在 keras 中训练 MLP 模型时出现以下错误 我使用的是 keras 版本1 2 2 检查模型输入时出错 您输入的 Numpy 数组列表 传递给您的模型的尺寸不是模型预期的尺寸 预期的 查看 1 个数组 但得到以下 12859
  • 为什么使用“self”定义的变量在继承自 tf.keras.Model 时会自动给出 ListWrapper() ?

    我不熟悉ListWrapper 但它被应用于使用创建的所有列表变量self当我的班级继承自tf keras Model https www tensorflow org api docs python tf keras models Mod
  • 尝试校准keras模型

    我正在尝试通过 Sklearn 实现来校准我的 CNN 模型CalibratedClassifierCV 尝试将其包装为KerasClassifier并覆盖预测功能但没有成功 有人可以说我做错了什么吗 这是模型代码 def create m
  • 在自定义 keras 层的调用函数中传递附加参数

    我创建了一个自定义 keras 层 目的是在推理过程中手动更改前一层的激活 以下是基本层 它只是将激活值乘以一个数字 import numpy as np from keras import backend as K from keras
  • 如何使用 keras.backend.gradients() 获取梯度值

    我试图获得 Keras 模型的输出相对于模型输入 x 而不是权重 的导数 似乎最简单的方法是使用 keras backend 中的 梯度 它返回梯度张量 https keras io backend https keras io backe
  • 在 keras 中使用条件实现自定义损失函数

    我需要一些有关 keras 损失函数的帮助 我一直在使用 Tensorflow 后端在 keras 上实现自定义损失函数 我已经在 numpy 中实现了自定义损失函数 但如果它可以转换为 keras 损失函数 那就太好了 损失函数采用数据帧
  • 如何使用 Keras 中的 Conv2D 在 5D 张量的最后三个维度上应用卷积?

    通常的输入张量Conv2DKeras 中是一个 4D 张量 其维度为batch size n n channel size 现在我有一个 5D 张量 其尺寸为batch size N n n channel size我想对中的每个 i 应用
  • Keras:加载多个模型并在不同线程中进行预测

    我正在使用带有张量流核心的 Keras 我想在构造函数中加载 2 个不同的模型 然后在不同的线程中进行预测 根据请求 我尝试在张量流图上下文中加载这些模型 但它不起作用 我的代码 from keras models import load
  • Tensorboard 和 Dropout 层

    我有一个非常基本的查询 我制作了 4 个几乎相同 差异在于输入形状 的 CNN 并在连接到全连接层的前馈网络时合并了它们 几乎相同的 CNN 的代码 model3 Sequential model3 add Convolution2D 32
  • AttributeError:模块“keras.engine”没有属性“Layer”

    当我试图运行时Parking Slot mask rcnn py文件我收到如下错误mrcnn model py文件我该如何解决 gt 2021 06 17 08 25 18 585897 W tensorflow stream execut
  • 使用 Keras 时,验证集中未见的类别会出现错误

    我有由数值变量和分类变量组成的数据 分类变量有很多类别 因此我使用嵌入来表示这些类别 我的模型是一个简单的神经网络 我知道当你定义嵌入层时你需要通过input dim number of categories 1为了解释训练中看不见的类别
  • conv1D 中形状的尺寸

    我尝试过构建一个只有一层的 CNN 但遇到了一些问题 事实上 编译器告诉我 ValueError 检查模型输入时出错 预期的 conv1d 1 input 具有 3 个维度 但得到形状为 569 30 的数组 这是代码 import num
  • 如何将两个 keras 模型连接成一个模型?

    假设我有一个 ResNet50 模型 我希望将该模型的输出层连接到 VGG 模型的输入层 这是 ResNet 模型和 ResNet50 的输出张量 img shape 164 164 3 resnet50 model ResNet50 in
  • ResNet34 在 Keras.application 中可用吗?

    我想包装一个 keras ResNet34 模型 但似乎只有 ResNet50 可以从 keras applications 导入 有没有一种方法可以直接导入 ResNet34 而不用构建 ResNet34 我在网上找到了以下代码 但我想知
  • 如何使用 keras/tensorflow 构建无监督 CNN 模型?

    我正在尝试为图像到图像转换应用程序构建 CNN 模型的输入是图像 输出是置信图 训练期间没有标记的置信度作为基本事实 但设计了损失函数来引导模型获得正确的输出 我在用 keras 构建神经网络时遇到困难 因为 model fit 函数需要训
  • 图像分割 - Keras 中的自定义损失函数

    我正在使用 Keras 中实现的 U Net https arxiv org pdf 1505 04597 pdf https arxiv org pdf 1505 04597 pdf 在显微镜图像中分割细胞器 为了让我的网络能够识别仅由
  • “Flatten”在 Keras 中的作用是什么?

    我试图理解的角色FlattenKeras 中的函数 下面是我的代码 这是一个简单的两层网络 它接收形状为 3 2 的二维数据 并输出形状为 1 4 的一维数据 model Sequential model add Dense 16 inpu
  • 如何避免简单前馈网络的过度拟合

    使用皮马印第安人糖尿病数据集 https archive ics uci edu ml datasets pima indians diabetes我正在尝试使用 Keras 构建准确的模型 我编写了以下代码 Visualize train

随机推荐