使用 /= 规范化变量会引发 ufunc 错误

2023-12-10

我正在慢慢地进入一些机器学习领域,但在一项使用计算机视觉处理 Kaggle 猫和狗数据集的练习中,发生了一些我不太明白的事情。

当我尝试标准化pickle中的图像值时,它在写入时起作用

X = X/255.0

但当我写入时抛出错误

 X /=255.0

TypeError: ufunc 'true_divide' output (typecode 'd') could not be coerced to provided output parameter (typecode 'B') according to the casting rule ''same_kind''

据我所理解x /= 255.0应该是一样的X = X/255.0那么我哪里错了? float 与 int 是一回事吗?

非常感谢解释


看一下 python 文档中的增强作业:https://docs.python.org/3/reference/simple_stmts.html#index-14

...

增强赋值对目标(与普通赋值语句不同,不能是解包)和表达式列表求值,对两个操作数执行特定于赋值类型的二元运算,并将结果赋给原始目标。目标仅评估一次。

像 x += 1 这样的增强赋值表达式可以重写为 x = x + 1 以实现类似但不完全相同的效果。在增强版本中,x 仅计算一次。另外,如果可能的话,实际操作是就地执行的,这意味着不是创建新对象并将其分配给目标,而是修改旧对象。

与正常分配不同,增强分配先评估左侧,然后再评估右侧。例如,a[i] += f(x) 首先查找 a[i],然后计算 f(x) 并执行加法,最后将结果写回 a[i]。

...

所以你是部分正确的,这是一个 float 与 int 的问题,以及操作是否就地执行。

x/=255.0 不起作用,因为该操作是就地执行的。让我们看看您的错误消息:TypeError: ufunc 'true_divide' output (typecode 'd') could not be coerced to provided output parameter (typecode 'B') according to the casting rule ''same_kind''

Looking at the table below (https://docs.python.org/2/library/array.html), the type codes it's referencing are "int" and "float". x/=255.0 attempts to coerce an int (x) into a float (result of dividing x by 255.0). This is an unsafe cast, and you get your error message. type code to type conversion chart

但 x=x/255.0 没问题,因为操作不是就地执行的。在右侧,我们得到 x/255.0 的结果,我们只需将该值分配给 x,就像您将任何浮点数分配给任何变量一样。

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

使用 /= 规范化变量会引发 ufunc 错误 的相关文章

随机推荐

  • Symfony2:学说:PHPUnit:在单元测试中使用模拟实体管理器刷新期间设置实体 ID

    Symfony 2 8 13 Doctrine ORM 2 5 5 PHPUnit 5 7 5 我想测试一个使用学说实体管理器的类的方法 此公共方法调用一个私有方法来实例化 Bookmark 实体 刷新它并返回该实体 然后 在测试的方法中我
  • 不使用 for-each 旋转 背景颜色

    我正在尝试设置其他每个的背景颜色 tr 我没有使用 for each 循环 因为我使用一些模板来根据节点值过滤数据 tr
  • ASP.NET C# 使用 System.IO 复制目录和子目录

    我需要将整个目录 C X 复制到 C Y X 并且还需要复制子文件夹 有什么方法可以使用 System IO File Directory 命名空间来做到这一点吗 感谢所有帮助者 此类将复制或移动文件夹 无需递归调用 这些方法使用自己的堆栈
  • UTF-8 字符串分隔符

    我正在解析一个二进制协议 其中 UTF 8 字符串散布在原始字节中 此特定协议在每个 UTF 8 字符串前面添加一个短字符 两个字节 指示后续 UTF 8 字符串的长度 这给出了最大字符串长度 2 16 gt 65 000 这对于特定应用来
  • 如何触发特定的Google自定义搜索引擎细化标签?

    目前 我们的组织正在使用 Google 自定义搜索引擎来提供自动建议 并且我们在 CSE 中配置了大约 3 个优化标签 之前 我们使用 WebSearch 和 SearchControl WebSearch 有一个 setSiteRestr
  • QWizard:更改标题字段的高度/尺寸

    我目前正在尝试为我正在开发的 Python Qt 应用程序实现一个简单的 第一步 向导 使用 Designer 确实很容易做到这一点 但与往常一样 问题在于细节 我的问题是 标题 字段对我来说太大了 约占可用屏幕空间的 50 这里有一个截屏
  • 给定表数据的期望输出

    您好 我有一个表测试其结构如下 Testing PK C1 c2 1 v11 v12 2 v21 v23 3 v31 v32 现在我需要查询该表 测试 以便获得以下输出 Pk Key value 1 c1 v11 1 c1 v12 2 c2
  • 泛型类型约束与继承

    这两个函数声明有区别吗 func doSomething
  • 在 C# 中将很长的日期格式解析为 DateTime

    如何将以下字符串日期解析为 C 中的 DateTime 对象 1970 年 1 月 1 日 星期四 这是来自 XML 提要 而 DateTime Parse 似乎不喜欢 en GB 语言环境中的它 该提要仅来自英国服务器 因此我不必担心全球
  • YUV NV21 转换为 RGB 的困惑

    根据http developer android com reference android graphics ImageFormat html NV21 NV21 是默认使用的格式 网上有很多关于 YUV NV21 到 RGB 转换的代码
  • OpenGL 中纹理像素和屏幕像素之间的一对一映射

    我正在使用 OpenGL 执行以下操作 我的屏幕尺寸是512 512 我有一个与屏幕大小相同的纹理 我想绘制一个覆盖整个屏幕的四边形 并在像素和纹素之间建立一对一的映射 这样我就可以做到texelFetch与着色器中的屏幕坐标 首先 如果我
  • 何时在新类名后添加括号? [复制]

    这个问题在这里已经有答案了 可能的重复 PHP 类实例化 使用或不使用括号 省略括号和无参数对象构造函数 不管有没有括号 新的Class似乎都不麻烦 所以我怀疑括号有什么用 我查了php手册 没有明白 有人能解释一下吗 括号的目的是让您输入
  • 在哪些情况下会跳过 DAG 的阶段?

    我正在尝试查找在我使用 RDD 的情况下 Spark 会跳过阶段的情况 我知道如果发生洗牌操作 它会跳过阶段 于是 我写了下面的代码来看看是否正确 def main args Array String Unit val conf new S
  • 如何阻止代码/程序访问Web应用程序?

    我想阻止任何人尝试通过代码访问我的网站 从代码的意义上来说 任何一个类似于bot的程序 都会造成流量激增 例如 URL url new URL http www example com URLConnection yc url openCo
  • 使用 jquery 调用 ajax 后如何等待图像加载?

    我有一个 Python 脚本 它对 JPEG 图像进行一些操作 我将一些参数传递给此脚本并从 HTML 页面调用它 该脚本返回一个 img src newimage jpg 标签 我知道如何等待脚本的回复 但我不知道如何判断图像何时完全加载
  • 由于 RAM 故障,是否会发生 System.AccessViolationException?

    我有一个网站 我已经工作了大约一年了 最近 它开始时不时地在我的开发机器中抛出 System AccessViolationException 大多数情况下 当我离开机器时 几周以来我没有对服务器代码进行任何更改 因为我一直在 100 地处
  • cmake 错误:QGLWidget:没有这样的文件或目录

    我正在尝试将 cmake 与 Qt 一起使用 但是在构建时出现以下错误 QGLWidget No such file or directory 在我的 CMakeLists txt 文件中 我有 set CMAKE INCLUDE CURR
  • 使用 C# 在另一个应用程序上执行鼠标单击事件

    我需要做的是 我需要使用我的自定义应用程序来控制安装在同一台计算机上的另一个应用程序 例如 如果我需要使用标准 Windows 计算器 我只需将输入事件发送到计算器 我使用了一些代码片段来实现这一点 现在我已经触发了鼠标和键盘事件 但问题是
  • Python 列表的幂集[重复]

    这个问题在这里已经有答案了 我正在尝试实现一个函数来生成列表的幂集xs 总体思路是我们遍历以下元素xs并选择是否包含x或不 我面临的问题是withX最终等于 None 一个单例列表None 因为 我认为 s add x 回报None 这不是
  • 使用 /= 规范化变量会引发 ufunc 错误

    我正在慢慢地进入一些机器学习领域 但在一项使用计算机视觉处理 Kaggle 猫和狗数据集的练习中 发生了一些我不太明白的事情 当我尝试标准化pickle中的图像值时 它在写入时起作用 X X 255 0 但当我写入时抛出错误 X 255 0