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 误解训练数据形状 的相关文章

  • opencv水印周围的轮廓

    我想在图像中的水印周围画一个框 我已经提取了水印并找到了轮廓 但是 不会在水印周围绘制轮廓 轮廓是在我的整个图像上绘制的 请帮我提供正确的代码 轮廓坐标的输出为 array 0 0 0 634 450 634 450 0 dtype int
  • 使用 python 中的公式函数使从 Excel 中提取的值的百分比相等

    import xlrd numpy excel Users Bob Desktop wb1 xlrd open workbook excel assignment3 xlsx sh1 wb1 sheet by index 0 colA co
  • Python - 来自 .进口

    我第一次尝试图书馆 我注意到解决图书馆内导入问题的最简单方法是使用如下结构 from import x from some module import y 我觉得这件事有些 糟糕 也许只是因为我不记得经常看到它 尽管公平地说我还没有深入研究
  • 保留完整姓氏,在 pandas 列中获取名字的首字母(如果有的话,还有中间名)

    我有一个 pandas 数据框 其中有一列表示几位网球运动员的姓氏和姓名 如下所示 Player 0 Roddick Andy 1 Federer Roger 2 Tsonga Jo Wilfred 我想保留完整的姓氏并获取姓名的首字母和中
  • 工作日重新订购 Pandas 系列

    使用 Pandas 我提取了一个 CSV 文件 然后创建了一系列数据来找出一周中哪几天崩溃最多 crashes by day bc DAY OF WEEK value counts 然后我将其绘制出来 但当然它按照与该系列相同的排名顺序绘制
  • 在没有模型的情况下将自定义页面添加到 django admin

    我正在尝试在没有模型关联的情况下向管理员添加自定义页面 这就是我迄今为止所取得的成就 class MyCustomAdmin AdminSite def get urls self from django conf urls import
  • Keras:如何保存模型或权重?

    如果这个问题看起来很简单 我很抱歉 但是阅读 Keras 保存和恢复帮助页面 https www tensorflow org beta tutorials keras save and restore models https www t
  • 如何使用文本相似性删除 pandas 数据框中相似(不重复)的行?

    我有数千个数据 这些数据可能相似也可能不相似 使用 python 的默认函数 drop duplicates 并没有真正的帮助 因为它们只检测相似的数据 例如 如果我的数据包含类似以下内容怎么办 嗨 早上好 嗨 早上好 Python 不会将
  • Emacs 24.x 上的 IPython 支持

    我对 IPython 与 Emacs 的集成感到困惑 从 Emacs 24 开始 Emacs 附带了自己的python el 该文件是否支持 IPython 还是仅支持 Python 另外 维基百科 http emacswiki org e
  • Gspread如何复制sheet

    在 Stackoverflow 上进行谷歌搜索和搜索后 我想我找不到有关如何复制现有工作表 现有模板工作表 并将其保存到另一个工作表中的指南 根据文档 有重复表 https gspread readthedocs io en latest
  • 从扫描文档中提取行表 opencv python

    我想从扫描的表中提取信息并将其存储为 csv 现在我的表提取算法执行以下步骤 应用倾斜校正 应用高斯滤波器进行去噪 使用 Otsu 阈值进行二值化 进行形态学开局 Canny 边缘检测 进行霍夫变换以获得表格行 去除重复行 10像素范围内相
  • Django send_mail SMTPSenderRefused 530 与 gmail

    一段时间以来 我一直在尝试使用 Django 从我正在开发的网站接收电子邮件 现在 我还没有部署它 并且我正在使用Django开发服务器 我不知道这是否会影响它 这是我的 settings py 配置 EMAIL BACKEND djang
  • 使用Python计算目录的大小?

    在我重新发明这个特殊的轮子之前 有没有人有一个很好的例程来使用 Python 计算目录的大小 如果例程能够很好地以 Mb Gb 等格式格式化大小 那就太好了 这会遍历所有子目录 总结文件大小 import os def get size s
  • Matplotlib 中 x 轴标签的频率和旋转

    我在下面编写了一个简单的脚本来使用 matplotlib 生成图形 我想将 x tick 频率从每月增加到每周并轮换标签 我不知道从哪里开始 x 轴频率 我的旋转线产生错误 TypeError set xticks got an unexp
  • Jython 和 SAX 解析器:允许的实体不超过 64000 个?

    我做了一个简单的测试xml saxJython 中的解析器在处理大型 XML 文件 800 MB 时遇到以下错误 Traceback most recent call last File src project xmltools py li
  • 使用 Keras np_utils.to_categorical 的问题

    我正在尝试将整数的 one hot 向量数组制作为 keras 将能够使用的 one hot 向量数组来拟合我的模型 这是代码的相关部分 Y train np hstack np asarray dataframe output vecto
  • Anaconda 无法导入 ssl 但 Python 可以

    Anaconda 3 Jupyter笔记本无法导入ssl 但使用Atom终端导入ssl没有问题 我尝试在 Jupyter 笔记本中导入 ssl 但出现以下错误 C ProgramData Anaconda3 lib ssl py in
  • 从 NumPy 数组到 Mat 的 C++ 转换 (OpenCV)

    我正在围绕 ArUco 增强现实库 基于 OpenCV 编写一个薄包装器 我试图构建的界面非常简单 Python 将图像传递给 C 代码 C 代码检测标记并将其位置和其他信息作为字典元组返回给 Python 但是 我不知道如何在 Pytho
  • 在 Django 查询中使用 .extra(select={...}) 引入的值上使用 .aggregate() ?

    我正在尝试计算玩家每周玩游戏的次数 如下所示 player game objects extra select week WEEK games game date aggregate count Count week 但姜戈抱怨说 Fiel
  • 混淆矩阵不支持多标签指示符

    multilabel indicator is not supported是我在尝试运行时收到的错误消息 confusion matrix y test predictions y test is a DataFrame其形状为 Horse

随机推荐

  • 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 我的训练数据的形