Keras 误解训练数据形状

2024-04-04

我的训练数据的形式为 (?,15),其中?是一个可变长度。

创建模型时我指定了这一点:

inp = Input(shape=(None,15))
conv = Conv1D(32,3,padding='same',activation='relu')(inp)
...

我的训练数据的形状为 (35730,?,15)。

在 python 中检查这个我得到:

X.shape

输出:(35730,)

X[0].shape

输出:(513, 15)

当我尝试将我的模型适合我的训练数据时,我收到 ValueError:

Error when checking input: expected input_1 to have 3 dimensions, but got array with shape (35730, 1)

我只能通过在单个样本上使用 model.train_on_batch() 来训练我的模型。

我该如何解决这个问题?看起来 keras 认为我的输入数据的形状是 (35730, 1),而实际上是 (35730, ?, 15)

这是 keras 中的错误还是我做错了什么?

如果重要的话,我正在使用张量流后端。这是喀拉拉2


(根据OP对此问题的评论进行编辑,他们发布了此链接:https://github.com/fchollet/keras/issues/1920 https://github.com/fchollet/keras/issues/1920)


Your X不是单个 numpy 数组,而是数组的数组。 (否则它的形状将是X.shape=(35730,513,15).

它必须是单个 numpy 数组fit方法。由于长度可变,因此不能有一个包含所有数据的 numpy 数组,您必须将其分成更小的数组,每个数组包含相同长度的数据。

为此,您可能应该按形状创建字典,并手动循环字典(可能还有其他更好的方法来执行此操作......):

#code in python 3.5
xByShapes = {}
yByShapes = {}
for itemX,itemY in zip(X,Y):
    if itemX.shape in xByShapes:
        xByShapes[itemX.shape].append(itemX)
        yByShapes[itemX.shape].append(itemY)
    else:
        xByShapes[itemX.shape] = [itemX] #initially a list, because we're going to append items
        yByShapes[itemX.shape] = [itemY]

最后,循环这个字典进行训练:

for shape in xByShapes:
    model.fit(
              np.asarray(xByShapes[shape]), 
              np.asarray(yByShapes[shape]),...
              )

Masking

或者,您可以使用零或一些虚拟值填充数据,使所有样本具有相同的长度。

然后在模型中的任何内容之前,您可以添加一个Masking将忽略这些填充段的层。 (警告:某些类型的图层不支持遮罩)

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

Keras 误解训练数据形状 的相关文章

  • Flask 会话变量

    我正在用 Flask 编写一个小型网络应用程序 当两个用户 在同一网络下 尝试使用应用程序时 我遇到会话变量问题 这是代码 import os from flask import Flask request render template
  • 如何在 Python 中检索 for 循环中的剩余项目?

    我有一个简单的 for 循环迭代项目列表 在某些时候 我知道它会破裂 我该如何退回剩余的物品 for i in a b c d e f g try some func i except return remaining items if s
  • 是否可以忽略一行的pyright检查?

    我需要忽略一行的pyright 检查 有什么特别的评论吗 def create slog group SLogGroup data Optional dict None SLog insert one SLog group group da
  • 基于代理的模拟:性能问题:Python vs NetLogo & Repast

    我正在 Python 3 中复制一小段 Sugarscape 代理模拟模型 我发现我的代码的性能比 NetLogo 慢约 3 倍 这可能是我的代码的问题 还是Python的固有限制 显然 这只是代码的一个片段 但 Python 却花费了三分
  • 使用 Tkinter 显示 numpy 数组中的图像

    我对 Python 缺乏经验 第一次使用 Tkinter 制作一个 UI 显示我的数字分类程序与 mnist 数据集的结果 当图像来自 numpy 数组而不是我的 PC 上的文件路径时 我有一个关于在 Tkinter 中显示图像的问题 我为
  • 如何使用 OpencV 从 Firebase 读取图像?

    有没有使用 OpenCV 从 Firebase 读取图像的想法 或者我必须先下载图片 然后从本地文件夹执行 cv imread 功能 有什么办法我可以使用cv imread link of picture from firebase 您可以
  • AWS EMR Spark Python 日志记录

    我正在 AWS EMR 上运行一个非常简单的 Spark 作业 但似乎无法从我的脚本中获取任何日志输出 我尝试过打印到 stderr from pyspark import SparkContext import sys if name m
  • 从 Flask 访问 Heroku 变量

    我已经使用以下命令在 Heroku 配置中设置了数据库变量 heroku config add server xxx xxx xxx xxx heroku config add user userName heroku config add
  • Flask如何获取请求的HTTP_ORIGIN

    我想用我自己设置的 Access Control Allow Origin 标头做出响应 而弄清楚请求中的 HTTP ORIGIN 参数在哪里似乎很混乱 我在用着烧瓶 0 10 1 以及HTTP ORIGIN似乎是这个的特点之一object
  • IO 密集型任务中的 Python 多线程

    建议仅在 IO 密集型任务中使用 Python 多线程 因为 Python 有一个全局解释器锁 GIL 只允许一个线程持有 Python 解释器的控制权 然而 多线程对于 IO 密集型操作有意义吗 https stackoverflow c
  • python获取上传/下载速度

    我想在我的计算机上监控上传和下载速度 一个名为 conky 的程序已经在 conky conf 中执行了以下操作 Connection quality alignr wireless link qual perc wlan0 downspe
  • 无法在 Python 3 中导入 cProfile

    我试图将 cProfile 模块导入 Python 3 3 0 但出现以下错误 Traceback most recent call last File
  • 如何在Python中对类别进行加权随机抽样

    给定一个元组列表 其中每个元组都包含一个概率和一个项目 我想根据其概率对项目进行采样 例如 给出列表 3 a 4 b 3 c 我想在 40 的时间内对 b 进行采样 在 python 中执行此操作的规范方法是什么 我查看了 random 模
  • 向 Altair 图表添加背景实心填充

    I like Altair a lot for making graphs in Python As a tribute I wanted to regenerate the Economist graph s in Mistakes we
  • 如何在seaborn displot中使用hist_kws

    我想在同一图中用不同的颜色绘制直方图和 kde 线 我想为直方图设置绿色 为 kde 线设置蓝色 我设法弄清楚使用 line kws 来更改 kde 线条颜色 但 hist kws 不适用于显示 我尝试过使用 histplot 但我无法为
  • 对年龄列进行分组/分类

    我有一个数据框说df有一个柱子 Ages gt gt gt df Age 0 22 1 38 2 26 3 35 4 35 5 1 6 54 我想对这个年龄段进行分组并创建一个像这样的新专栏 If age gt 0 age lt 2 the
  • 为字典中的一个键附加多个值[重复]

    这个问题在这里已经有答案了 我是 python 新手 我有每年的年份和值列表 我想要做的是检查字典中是否已存在该年份 如果存在 则将该值附加到特定键的值列表中 例如 我有一个年份列表 并且每年都有一个值 2010 2 2009 4 1989
  • 类型错误:预期单个张量时的张量列表 - 将 const 与 tf.random_normal 一起使用时

    我有以下 TensorFlow 代码 tf constant tf random normal time step batch size 1 1 我正进入 状态TypeError List of Tensors when single Te
  • 使用其构造函数初始化 OrderedDict 以便保留初始数据的顺序的正确方法?

    初始化有序字典 OD 以使其保留初始数据的顺序的正确方法是什么 from collections import OrderedDict Obviously wrong because regular dict loses order d O
  • 导入错误:没有名为 site 的模块 - mac

    我已经有这个问题几个月了 每次我想获取一个新的 python 包并使用它时 我都会在终端中收到此错误 ImportError No module named site 我不知道为什么会出现这个错误 实际上 我无法使用任何新软件包 因为每次我

随机推荐

  • Heartbleed bug 是 C 语言中经典缓冲区溢出漏洞的表现吗?

    在我们关于安全性的第一堂 CS 讲座中 我们了解了 C 的问题 即不检查所谓的缓冲区长度 以及利用此漏洞的不同方式的一些示例 在这种情况下 看起来这是一个恶意读取操作的情况 应用程序只是读出了多少字节的内存 我断言 Heartbleed b
  • Objective-C 依赖项的弃用警告

    使 Swift var 向后兼容 Objective C 我有一个 Objective C 类 已转换为 Swift 我所有的测试都通过了 但我想通过添加一个弃用警告来更新以通知用户将下游依赖项更新到 Swift 版本的 var 来进一步优
  • 为什么更好的隔离级别意味着 SQL Server 更好的性能

    在测量查询性能时 我发现隔离级别和运行时间之间存在依赖关系 这让我感到惊讶 READUNCOMMITTED 409024 READCOMMITTED 368021 REPEATABLEREAD 358019 SERIALIZABLE 348
  • 如何修改移动设备和选项卡的引导轮播

    我正在使用引导滑块 在桌面上 它有三张幻灯片 每张幻灯片有 4 个图块 在选项卡上 它们必须是 4 张幻灯片 每张幻灯片 3 个图块 在移动设备上 需要有 12 张不同的幻灯片 我正在考虑实现这一点的最有效和最优化的方法 Option 1
  • Hibernate3 与 Oracle 12c

    我们正在将 oracle 从 11g 升级到 12c 我的应用程序正在使用hibernate3 jar这是 3 6 8 最终版本 与 11g 配合使用效果很好Oracle10gDialect但是当我连接到 12c 数据库时出现以下错误 我还
  • 使用 ezplot 在 MATLAB 中的同一个图形上绘制两个函数

    我想使用 ezplot 在 MATLAB 中绘制以下三个函数 但我希望这些函数位于同一张图上 以便轻松解释差异 这可能吗 如果是这样怎么办 这三个功能是 x 3 x 5 x 7 thanks 神秘的xhobo 只需使用hold on将它们连
  • 什么是缩放图像以及如何在网页中提供缩放图像?

    当我在 google PageSpeed 中运行测试页面时 我发现了一些警告 例如提供缩放图像 http man vimal net78 net introduction intro action main THe results were
  • IEnumerable 是如何逆变的?

    这个帖子 http blogs msdn com b brada archive 2005 01 18 355755 aspx https web archive org web 20140417104304 http blogs msdn
  • 如何为 google api php 客户端库设置超时

    我正在使用谷歌的PHP 客户端库 https github com google google api php client构建一个应用程序 有时 Google 需要长达 100 秒的时间来响应 API 请求 我想将套接字超时限制为 30
  • Keras 中的 dropout 行为,rate=1(丢弃所有输入单元)不符合预期

    input0 keras layers Input 32 32 3 name Input0 flatten keras layers Flatten name Flatten input0 relu1 keras layers Dense
  • 如何为 WPF 应用程序创建 chm 帮助文件?

    对于 WPF UI 应用程序 需要创建 CHM 帮助文件 如何创建 chm 帮助文件 首先在ms word中创建文档并将其转换为chm帮助文件 或者任何其他方法 请帮忙 Thanks Ramm I used Sandcastle 帮助文件生
  • Database.BeginTransaction 与 Transactions.TransactionScope [重复]

    这个问题在这里已经有答案了 有什么区别System Transactions TransactionScope和 EF6 的Database BeginTransaction 有人可以举一个小例子 或者只是解释一下当有明显差异时应该使用哪一
  • 获取列位置

    在 Cassandra DB 中 使用有序列族 我知道你能得到切片 但你能得到位置吗 例如 在此数据模型中 我保存如下分数 Scores 1000 bob lucas 900 tim 800 mario 知道用户的分数为 900 并且他的昵
  • 传递Physics2DShapeQueryParameters 层进行检查

    我目前正在为我的 2D 自上而下游戏开发一个构建系统 最后一步是检查是否有任何物体 例如树或玩家 阻碍了物品的放置 经过一些研究后 我发现使用Physics2DShapeQueryParameters 是正确的方法 我唯一的问题是我不知道如
  • 仅克隆雪花元数据

    我想克隆 Snowflake 数据库的外壳 仅元数据 无数据 这可能吗 我检查了文档并没有找到解决方案 如果您只是想获取现有数据库的空壳 则可以克隆整个数据库 然后编写脚本截断数据库中存在的所有表 克隆不会添加任何数据 并且克隆上的截断速度
  • ServiceStack.Text序列化循环引用

    我需要像这样序列化对象图 public class A public B Link1 get set public class B public A Link2 get set 这样json只得到两个实例 但又被正确反序列化了 例如 使用元
  • Rails 5.1 升级后控制器测试发出调试(失败)消息

    我最近将一个项目升级到Rails 5 1 所有弃用警告均已修复 所有测试都通过 我使用rspec rails 控制器测试使用 ActiveJob 调用邮件程序现在正在呈现冗长的警告消息 ActiveJob ActionMailer Deli
  • AllegroGraph 检查现有三元组

    我正在使用 AllegroGraph 4 我有一个三元组存储 并且只有在新的三元组尚不存在时我才会尝试添加它们 这是我的 Prolog 查询 select news alfas news a news tst has annotation
  • 参考OpenAPI 3.0中的self

    我在 OpenAPI 3 0 中有一个数据模型定义 使用 SwaggerHub 来显示 UI 我希望模型的属性之一是related 它是同一模型的属性数组 Foo properties title type string related t
  • Keras 误解训练数据形状

    我的训练数据的形式为 15 其中 是一个可变长度 创建模型时我指定了这一点 inp Input shape None 15 conv Conv1D 32 3 padding same activation relu inp 我的训练数据的形