训练 Keras 模型会产生多个优化器错误

2024-01-10

所以我需要使用我自己的数据集重新训练 Tiny YOLO。我正在使用的模型可以在这里找到:keras-yolo3 https://github.com/qqwweee/keras-yolo3.

我开始训练,遇到多个优化器错误,添加了错误代码以防止混淆。 我注意到即使应该使用 GPU,训练也很慢,经过一番研究后我发现这并没有使用 GPU 进行训练。 我应该注意到,在我用于学习训练的另一个较小的网络上,使用 GPU,因此从该方面来看,所有内容都设置正确,并且当我进行训练时,它们没有出现这种类型的错误。

这种缓慢且有些 CPU 训练是否是由于上述错误造成的?我该如何解决这个问题有人知道吗?

Using TensorFlow backend.
WARNING: Logging before flag parsing goes to stderr.
2019-08-19 09:45:08.057713: I tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully opened dynamic library nvcuda.dll
2019-08-19 09:45:08.264577: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1640] Found device 0 with properties:
name: GeForce GTX 1060 6GB major: 6 minor: 1 memoryClockRate(GHz): 1.8475
pciBusID: 0000:01:00.0
2019-08-19 09:45:08.270723: I tensorflow/stream_executor/platform/default/dlopen_checker_stub.cc:25] GPU libraries are statically linked, skip dlopen check.
2019-08-19 09:45:08.275827: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1763] Adding visible gpu devices: 0
2019-08-19 09:45:09.214197: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1181] Device interconnect StreamExecutor with strength 1 edge matrix:
2019-08-19 09:45:09.217605: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1187]      0
2019-08-19 09:45:09.219777: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1200] 0:   N
2019-08-19 09:45:09.222399: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1326] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 4712 MB memory) -> physical GPU (device: 0, name: GeForce GTX 1060 6GB, pci bus id: 0000:01:00.0, compute capability: 6.1)
Create Tiny YOLOv3 model with 6 anchors and 80 classes.
Load weights model_data/tiny_yolo_weights.h5.
Freeze the first 42 layers of total 44 layers.
Train on 8298 samples, val on 922 samples, with batch size 32.
Epoch 1/50
2019-08-19 09:45:19.742610: E tensorflow/core/grappler/optimizers/meta_optimizer.cc:502] shape_optimizer failed: Invalid argument: Subshape must have computed start >= end since stride is negative, but is 0 and 2 (computed from start 0 and end 9223372036854775807 over shape with rank 2 and stride-1)
2019-08-19 09:45:19.781035: E tensorflow/core/grappler/optimizers/meta_optimizer.cc:502] remapper failed: Invalid argument: Subshape must have computed start >= end since stride is negative, but is 0 and 2 (computed from start 0 and end 9223372036854775807 over shape with rank 2 and stride-1)
2019-08-19 09:45:19.935930: E tensorflow/core/grappler/optimizers/meta_optimizer.cc:502] layout failed: Invalid argument: Subshape must have computed start >= end since stride is negative, but is 0 and 2 (computed from start 0 and end 9223372036854775807 over shape with rank 2 and stride-1)
2019-08-19 09:45:20.168936: E tensorflow/core/grappler/optimizers/meta_optimizer.cc:502] shape_optimizer failed: Invalid argument: Subshape must have computed start >= end since stride is negative, but is 0 and 2 (computed from start 0 and end 9223372036854775807 over shape with rank 2 and stride-1)
2019-08-19 09:45:20.205304: E tensorflow/core/grappler/optimizers/meta_optimizer.cc:502] remapper failed: Invalid argument: Subshape must have computed start >= end since stride is negative, but is 0 and 2 (computed from start 0 and end 9223372036854775807 over shape with rank 2 and stride-1)
258/259 [============================>.] - ETA: 3s - loss: 41.82962019-08-19 10:01:51.053474: E tensorflow/core/grappler/optimizers/meta_optimizer.cc:502] remapper failed: Invalid argument: Subshape must have computed start >= end since stride is negative, but is 0 and 2 (computed from start 0 and end 9223372036854775807 over shape with rank 2 and stride-1)
2019-08-19 10:01:51.138957: E tensorflow/core/grappler/optimizers/meta_optimizer.cc:502] layout failed: Invalid argument: Subshape must have computed start >= end since stride is negative, but is 0 and 2 (computed from start 0 and end 9223372036854775807 over shape with rank 2 and stride-1)
2019-08-19 10:01:51.243888: E tensorflow/core/grappler/optimizers/meta_optimizer.cc:502] remapper failed: Invalid argument: Subshape must have computed start >= end since stride is negative, but is 0 and 2 (computed from start 0 and end 9223372036854775807 over shape with rank 2 and stride-1)
259/259 [==============================] - 1078s 4s/step - loss: 41.8008 - val_loss: 35.7122

我在这里找到了解决方案:https://github.com/tensorflow/tensorrt/issues/118 https://github.com/tensorflow/tensorrt/issues/118

您必须更改 yolo3/model.py 中的行(140/141):

box_xy = (K.sigmoid(feats[..., :2]) + grid) / K.cast(grid_shape[::-1], K.dtype(feats))
box_wh = K.exp(feats[..., 2:4]) * anchors_tensor / K.cast(input_shape[::-1], K.dtype(feats))

to:

box_xy = (K.sigmoid(feats[..., :2]) + grid) / K.cast(grid_shape[...,::-1], K.dtype(feats))
box_wh = K.exp(feats[..., 2:4]) * anchors_tensor / K.cast(input_shape[...,::-1], K.dtype(feats))

就我而言也有助于减少批量大小 from 8 to 4.

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

训练 Keras 模型会产生多个优化器错误 的相关文章

  • Keras ZeroDivisionError:整数除法或以零为模

    我正在尝试使用 Keras 和 Tensorflow 实现卷积神经网络 我有以下代码 from keras models import Sequential from keras layers import Conv2D MaxPoolin
  • 为什么 pandas 在简单的数学运算上比 numpy 更快?

    最近 我观察到 pandas 的乘法速度更快 我在下面的例子中向您展示了这一点 如此简单的操作怎么可能做到这一点 这怎么可能呢 pandas 数据帧中的底层数据容器是 numpy 数组 测量 我使用形状为 10k 10k 的数组 数据框 i
  • sy.sympify(str(表达式)) 不等于表达式

    据我了解 str将 SymPy 表达式转换为字符串并sympify将字符串转换为 SymPy 表达式 因此 我希望以下内容成立 对于合理的表达 gt gt gt sy sympify str expr expr True 我尝试过这个 确实
  • 如何使用 python、openCV 计算图像中的行数

    我想数纸张 所以我正在考虑使用线条检测 我尝试过一些方法 例如Canny HoughLines and FLD 但我只得到处理过的照片 我不知道如何计算 有一些小线段就是我们想要的线 我用过len lines or len contours
  • 检查子字符串是否在字符串列表中?

    我之前已经找到了这个问题的一些答案 但它们对于当前的Python版本来说似乎已经过时了 或者至少它们对我不起作用 我想检查字符串列表中是否包含子字符串 我只需要布尔结果 我找到了这个解决方案 word to check or wordlis
  • 如何将 numpy rearray 的子集转换为连续数组?

    我有一个recarray来自读取 csv 文件 我有兴趣将列的子集转换为连续浮点数组 我想避免将它们转换为列表或将它们一一堆叠 我尝试了中的建议https stackoverflow com a 11792956 https stackov
  • 样本()和r样本()有什么区别?

    当我从 PyTorch 中的发行版中采样时 两者sample and rsample似乎给出了类似的结果 import torch seaborn as sns x torch distributions Normal torch tens
  • 从字典中绘制直方图

    我创建了一个dictionary计算 a 中出现的次数list每个键的内容 我现在想绘制其内容的直方图 这是我想要绘制的字典的内容 1 27 34 1 3 72 4 62 5 33 6 36 7 20 8 12 9 9 10 6 11 5
  • Caffe 的 LSTM 模块

    有谁知道 Caffe 是否有一个不错的 LSTM 模块 我从 russel91 的 github 帐户中找到了一个 但显然包含示例和解释的网页消失了 以前是http apollo deepmatter io http apollo deep
  • 获取 int() 参数必须是字符串或数字,而不是“Column”- Apache Spark

    如果我使用以下代码 我会收到此异常 int argument must be a string or a number not Column df df withColumn FY F when df ID substr 5 2 isin
  • 无法在我的程序中使用 matplotlib 函数

    我正在 Windows 10 中运行 Anaconda 安装 conda 版本 4 3 8 这是我尝试在 python 命令行中运行的代码 import matplotlib pyplot as plt x 1 2 3 4 y 5 6 7
  • Bokeh 中单独的节点和边缘悬停工具?

    我正在尝试为 Bokeh 中的节点和边缘获取单独的悬停工具提示 但未能使其正常工作 有人可以指出我做错了什么吗 我相信代码应该如下所示 from bokeh io import show output notebook from bokeh
  • 在 pygame 中,我如何创建一个数据结构来跟踪调整大小事件和对象的坐标?

    我希望在调整屏幕大小后使鼠标事件与对象保持同步 有人告诉我需要创建一个数据结构来跟踪 调整事件大小 新坐标以匹配调整大小 如何使用简单的代数方程来完成此操作并将其集成到调整大小事件中以进行准确更新 反过来做 创建一个虚拟游戏地图 在绘制场景
  • django 中的身份验证方法返回 None

    你好 我在 django 中做了一个简单的注册和登录页面 当想要登录时 登录视图中的身份验证方法不返回任何内容 我的身份验证应用程序 模型 py from django db import models from django contri
  • 如何让 Streamlit 每 5 秒重新加载一次?

    我必须每 5 秒重新加载 Streamlit 图表 以便在 XLSX 报告中可视化新数据 如何实现这一目标 import streamlit as st import pandas as pd import os mainDir os pa
  • 更改用作函数全局作用域的字典

    我想做一个 purePython 的装饰器 其中一部分是能够有选择地禁止访问函数的全局范围 有没有一种方法可以以编程方式更改哪个字典事物充当函数的全局 外部作用域 因此 例如在下面我希望能够拦截对f in h并抛出错误 但我想允许访问g因为
  • 在 for 循环中访问 itertools 产品的元素

    我有一个列表列表 是附加 itertools 产品的一些其他结果的结果 我想要的是能够使用 for 循环访问列表列表中列表的每个元素 但我无法访问所有元素 我只能访问最后一个列表的元素 结果是一个非常巨大的列表列表 例如 1 2 4 3 6
  • 有没有办法拉伸整个显示图像以适应给定的分辨率?

    我最近一直在使用pygame制作游戏 遇到了一个小问题 基本上 我希望能够将屏幕上的整个图像 我已经传输到它的所有内容 拉伸到用户将窗口大小调整到的分辨率 我在 pygame 和堆栈溢出的文档中搜索了很多 但我似乎找不到答案 这可能吗 我的
  • 避免“散点/点/蜂群”图中的数据点重叠

    使用绘制点图时matplotlib 我想偏移重叠的数据点以使它们全部可见 例如 如果我有 CategoryA 0 0 3 0 5 CategoryB 5 10 5 5 10 我想要每一个CategoryA 0 数据点并排设置 而不是彼此重叠
  • 如何在supervisord中设置组?

    因此 我正在设置 Supervisord 并尝试控制多个进程 并且一切正常 现在我想设置一个组 以便我可以启动 停止不同的进程集 而不是全部或全无 这是我的配置文件的片段 group tapjoy programs tapjoy game1

随机推荐

  • 发送到 Socket IO socket.id

    我正在尝试发送到特定的套接字 ID socket user playID emit correct data 但我得到 TypeError object is not a function 如果我退出user playID 我确实得到了一个
  • JavaScript 更改输入值时的事件?

  • .NET DLL 需要接收 Clarion 回调过程,然后将其全部传递给三个整数?

    我正在为 Clarion Clarion 是类似 C 的编程语言 程序编写 C NET DLL 我调用 C NET DLL 一切正常 一切正常 但是 我需要 C NET DLL 接收用于回调目的的 Clarion 过程 然后能够传递三个 i
  • 属性的命名约定[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 哪一个更好或更清楚 public int FrozenRegionWidth get set Or public int WidthOfFroz
  • 将多个 Pandas DataFrame 列设置为单列中的值或同时设置多个标量值

    我正在尝试将多个新列设置为一列 并分别将多个新列设置为多个标量值 也做不到 除了单独设置之外还有什么办法吗 df pd DataFrame columns A B data np arange 6 reshape 3 2 df loc C
  • 如何使用express-uploadfile从POST读取文本文件?

    我正在尝试制作 Node js 服务器 用于在那里上传文本文件 所以我使用 POST 来获取本地用户的文本文件 然后我想让服务器读取该文件 我想我可以让用户上传他的本地文本文件 我可以获取上传文件的描述 但很难让服务器读取文件的实际字符串
  • Chrome 的自动填充隐藏文本输入的背景图像

    成功禁用自动填充黄色背景颜色后 我偶然发现了另一个功能 我的每个输入元素都有一个背景图像 每次我关注文本输入时 浏览器都会在下拉列表中建议我之前使用的值 选择一个值后 自动填充会覆盖整个背景并隐藏图像 这是我的 html 和 css 在 J
  • NHibernate:System.Argument异常:已添加具有相同键的项目

    我遇到了一个很难重现的偶发错误 我的第一个猜测是 不知怎的 我有一个泄漏的休眠会话 但是当我运行休眠分析器 http nhprof com 我没有看到太多异常 MVC 2 0 流畅版本1 1 0 685 NHibernate 版本 2 1
  • 使用三元运算符初始化结构

    为什么三元运算符不能用于初始化结构类型 而可以用于初始化基类型 例如int 示例代码 include
  • javascript向所有函数添加原型方法?

    有没有一种方法可以在不使用原型库的情况下向所有 javascript 函数添加方法 类似于 Function prototype methodName function return dowhateverto this 这是我到目前为止所尝
  • Perl 6 中有快速并行“for”循环吗?

    给定一些对 1 到 500000 之间的每个数字进行一些数学 转换的代码 我们有选择 简单的for循环 for 500000 gt i my result i 2 Str 在我的不科学基准测试中 这需要 2 8 秒 最规范的并行版本在一个P
  • 新的 SQL Server 用户登录失败

    我已在 SQL Server Management Studio SQL Server 2008 Express 的安全选项卡中创建了新用户 指定登录名 SQL Server 身份验证 输入密码 分配服务器角色sysadmin 映射到我的数
  • 如何检查元素是否在 iframe 内

    假设您有一个 DOM 节点 并且您想知道它是否位于 iframe 内 一种方法是检查它的父链 看看您是否在到达父窗口之前到达了 iframe 不过 我想知道是否有更快的方法来做到这一点 你也许可以检查ownerDocument财产 http
  • 强制使用 SSL:尝试确定托管应用程序的 DNC 进程的进程 ID 时发生错误

    我想在我的网站上强制使用 https 如果发现本文 https azure microsoft com en us documentation articles web sites configure ssl certificate 4 e
  • 使用 Perl 发送电子邮件

    我正在尝试使用 Perl 发送电子邮件 基本上我有一个 Perl 脚本 可以以良好的格式打印出报告 我希望通过电子邮件发送该报告 我怎样才能做到这一点 如果机器没有配置sendmail 我通常使用邮件 发送邮件 https metacpan
  • 如何根据位置分割字符串

    我想根据字符的位置拆分变量 生成的第一个字符串应具有指定位置之前的前一个位置 另一个字符串应包含其他部分 假设如果我有一个变量 var 2013AD 我想 var1 2013 and var2 AD 我怎样才能实现这个目标 嗯 要在这里使用
  • 如何使用 Selenium WebDriver 检查单选按钮?

    我想检查这个单选按钮 但我不知道如何检查 我的 HTML 是 div class appendContent div id contentContainer class grid list template gt div div div d
  • AEM Scheduler 的配置发生变化吗?

    我正在尝试为我的项目需求实现简单的调度程序 我的项目正在使用Adobe AEM 截至目前 我浏览了 Adob e 网站并尝试实现所提供的给定示例 但没有一个更新我的error log file package sling docu exam
  • Android 项目未解析任何静态资源

    由于某种原因 我的 android 项目无法解析 js css 图像的任何静态路径 而它在 web 和 ios 上运行良好 我没有使用离子 所以也许我错过了一些特定的东西 然而 所有这些文件都可以在 android 项目中使用 这是突出显示
  • 训练 Keras 模型会产生多个优化器错误

    所以我需要使用我自己的数据集重新训练 Tiny YOLO 我正在使用的模型可以在这里找到 keras yolo3 https github com qqwweee keras yolo3 我开始训练 遇到多个优化器错误 添加了错误代码以防止