当前位置: 首页 > 知识库问答 >
问题:

Tensorflow:NaN没有任何除法

梁丘扬
2023-03-14

我在tensorflow中实现了一个简单的线性回归。如果我将值的数量保持得非常小(小于8),它就可以正常工作。但是,一旦我做了大量(8个或更多样本),我就会得到NaN的。

这令人困惑,因为这是一个简单的回归,没有除法。成本是均方误差:仅除以固定整数(样本数)。此外,切换到平方和误差也会导致相同的问题。

Tensorflow NaN bug?不会有帮助,因为我的代码中没有分区或登录。

最后,添加add\u check\u numeric\u ops会导致程序运行很长时间,耗尽所有内存,交换,最后终止。

我尝试使用Float32而不是Float64,但没有区别。

降低优化器的学习率可以让我获得一些良好的调试输出(也可以让它在多达12个数据点上正常工作)。出于某种原因,优化器尝试了w=-2.3e 11b=-2.2e 10(即使训练数据都是线性的,带有一点噪声)。我不知道为什么或如何得到如此疯狂的wb值。一旦它到达那里,很容易看出它最终是如何到达NaN的。

但是优化师为什么要尝试如此疯狂的值呢?我能做些什么来防止它?

共有1个答案

高飞翮
2023-03-14

请查看新TensorFlow调试器(tfdbg)的教程,网址为:https://www.tensorflow.org/programmers_guide/debugger

它是专门为调试这种类型的NaN/Inf问题而设计的。

 类似资料:
  • 问题内容: 这是我的代码。我正在尝试使用箭头键使球移动。当我运行上述程序时 ,不显示球 ( 如果我将坐标更改为显示0,30球), 并且事件未触发,球既不移动也不跳跃 ? 问题答案:

  • 在macOS上运行docker mhart/alpine节点:8 (6.10.3-r0)(18/18)纱线0.24.6笑话20.0.4 但是,在运行代码时,我有一个_tests _/index.test.js文件 我得到以下输出 未找到测试 在 /usr/src/app 5文件检查。 testMatch: /__tests__//*. js?(X),**/?(*.)(spec|test). js?

  • 是否可以在 JavaFX 2.2 中的 ImageView 中渲染缩放后的图像而不应用任何平滑?我正在使用setSmooth(false)将50x50图像渲染为200x200 ImageView,因此源图像中的每个像素都应映射到屏幕上的4x4正方形。 但是,生成的渲染仍然在所有16个目标像素上平滑源像素。有没有人知道一种方法可以做到这一点,而无需手动将每个像素复制到新图像中?

  • 我有一个示例情况:表有一个名为的列,在表中作为外键引用。 删除子行时,如果父行未被任何其他子行引用,如何删除父行?

  • 问题内容: 我查看了以前的文章,但似乎找不到解决此问题的方法。所有三行代码都给出“类型’Any’没有下标成员”错误。对此还很陌生,因此不胜感激。 问题答案: 的类型为。下标是一种特殊的函数,它使用将值括在大括号中的语法。此下标功能由实现。 因此,这里发生的是,作为开发人员的YOU知道这是一个,但是编译器却没有。它不会让您调用该函数,因为您试图在type的值上调用它并且未实现。为此,您必须告诉编译器

  • 问题内容: 我想从个人资料字典中获取地址,但出现错误“输入任何类型?没有下标成员” 我该如何解决并获取地址?非常感谢。 问题答案: 当您使用下标配置文件时,您将获得一个实例。您选择使用适合同一数组中的各种类型已导致发生类型擦除。您需要将结果转换回其实型,以便它知道实例代表。然后,您可以对其进行下标: 但是,这非常笨拙,并且一开始就使用Dictionary并不是一个非常合适的情况。 在这种情况下,如