TensorFlow 和 Numpy 之间的不同结果

2024-02-10

我有以下代码片段。许多西格玛矩阵是由神经网络生成的,并且这些矩阵必须是正定的。所以这是在调试功能中检查的。

奇怪的是 Sigma2 没有给出 *** LinAlgError: Matrix is not Positive Defined Error,而 Sigma 却给出了。总而言之,前 1499 次迭代一切顺利。

但 np.sum(np.abs(Sigma-Sigma2)) 给出的值为 19687.622918061788。因此,Tensorflow 中构建的 Sigma 与 Numpy 中生成的 Sigma2 的值似乎不同。这怎么可能?

# Because there is no tensorflow equivalent for np.eye()
identity = tf.Variable(tf.convert_to_tensor(np.eye(mu_shape[-1].value), dtype=tf.float32))
Sigma = tf.batch_matmul(L,tf.matrix_transpose(L)) + 1e-4*identity

# Check positive definite
def _debug_print_func(Sigma,L):
  try:            
    C = np.linalg.cholesky(Sigma)
  except np.linalg.LinAlgError:
    Sigma2 = np.matmul(L,np.transpose(L,axes=[0,1,3,2]))+1e-4*np.eye(4)) 
    print 'LinAlgError'  
    # Sigma different from Sigma2??
    pdb.set_trace()
    return False

debug_print_op = tf.py_func(_debug_print_func, [Sigma,L], [tf.bool])
with tf.control_dependencies(debug_print_op):
  Sigma = tf.identity(Sigma, name='out')

编辑: 还有一个小数字示例

在我计算的调试函数中

W=np.matmul(L[0,0,:,:],L[0,0,:,:].T)+1e-4*np.eye(4)

那我就做

Sigma[0,0,:,:]-W

Sigma[0,0,:,:]-W 给出

array([[ -2.39243686e-05,  -2.29620725e-05,   1.46458477e-05,  2.68967569e-05],
       [ -2.29620725e-05,  -3.72494698e-05,   2.18125388e-05,  3.86031806e-05],
       [  1.46458477e-05,   2.18125388e-05,  -3.83383453e-05,  2.45112851e-05],
       [  2.68967569e-05,   3.86031806e-05,   2.45112851e-05,  -5.60631990e-05]])

因此,Numpy 和 TensorFlow 之间的所有元素似乎都存在 1e-5 顺序的差异。这似乎决定了正定与否之间的区别。

这是 TensorFlow 中的错误还是有办法解决这个问题?


None

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

TensorFlow 和 Numpy 之间的不同结果 的相关文章

  • 将 for 循环转换为列表理解

    我有一个for循环 将字符串列表中每个元素的子字符串与另一个字符串列表中的元素进行比较 mylist for x in list1 mat False for y in list2 if x 14 in y mat True if not
  • 如何使用Python从pdf文件中删除页面?

    我有一些超过 500 页的 pdf 文件 但每个文件中只需要几页 有必要保留文档的标题页 我确切地知道程序应该删除的页数 如何使用安装在 MS Visual Studio 上的 Python 2 7 环境来完成此操作 尝试使用PyPDF2
  • Python Pandas:返回连续缺失的工作日日期并为数据框中缺失的日期分配比率

    Dates rates 7 26 2019 1 04 7 30 2019 1 0116 7 31 2019 1 005 8 1 2019 1 035 8 2 2019 1 01 8 6 2019 0 9886 8 12 2019 0 965
  • 是否有与 f 字符串语法等效的可调用函数?

    每个人都喜欢 Python 3 6 的新 f 字符串 In 33 foo blah bang In 34 bar blah In 35 f foo bar Out 35 bang 然而 虽然在功能上非常相似 但它们的语义并不完全相同str
  • Django - 403 Forbidden CSRF 验证失败

    我在 Django 中为我的网站提供了一个联系表单 当我在本地测试它时 它工作正常 但现在当我尝试 实时 提交我的联系表单时 它总是出现 403 禁止 CSRF 验证失败 view def contact request if reques
  • 为什么tcl/tkinter只支持BMP字符?

    我正在尝试在基于 tkinter 和 tcl 构建的 gui 中查询和显示 utf 8 编码字符 但是 我发现 tkinter 无法显示 4 字节字符 即大于 U FFFF 的 unicode 代码点 为什么会这样呢 实现非 BMP 字符对
  • 如何在 PyCharm 社区版中运行 Django 项目的调试服务器?

    有人在 PyCharm 社区版中为 Django 项目设置调试配置时遇到问题吗 IDE 的社区版缺少项目设置中的项目类型选项 然后当我设置 调试 或 运行配置 时 它会要求我提供应该运行的脚本 Django 需要什么脚本 manage py
  • “unicode”对象没有属性“_meta”

    我正在尝试创建一个视图 用户在其中从下拉菜单中选择一个选项 提交它 然后返回一些数据 具体来说 他们将从数据库中的模型中进行选择 并返回该类的所有实例 我使用 django tables2 输出数据 以便可以排序 但这是我的症结所在 Vie
  • Panda如何将行分组到不同的时间桶中?

    我有一个带有名为时间戳的日期时间类型列的数据帧 我想根据时间部分的时间戳将数据帧拆分为多个数据帧 每个数据帧包含按其值模 x 分钟进行值的行 其中 x 是变量 请注意e and f不按原来的顺序 以 10 分钟为模 我希望所有时间都以3在一
  • 如何缩放图像的一部分并插入到 matplotlib 中的同一图中

    我想缩放数据 图像的一部分并将其绘制在同一个图中 看起来有点像这个图 是否可以在同一图中插入缩放图像的一部分 我认为可以用子图绘制另一个图形 但它绘制了两个不同的图形 我还阅读了添加补丁以插入矩形 圆形 但不确定将图像的一部分插入到图中是否
  • 将 *.appspot.com 重定向到自定义域:Google 应用引擎 (Django)

    我直接将我的一些示例代码放在这里以获得更好的了解 url py r robots txt myapp views robots r myapp views home views py def home request my code ret
  • 忽略 NaN 的列表理解

    我正在尝试构建一个列表理解 其条件是不导入 nan 值 但运气不佳 以下是当前代码以及结果输出 什么条件会将 nan 从列表中删除 def generate labels filtered df columnName return labe
  • 动态组装 Python 模块,动态导入

    我正在努力让自己熟悉importlib钩子 我想实现直接导入用其他语言编写的非Python文件并维护源映射的能力 因此提高SyntaxError带有行号的 s 仍然会给出有意义的堆栈跟踪 我加载外部文件的方法是组装 Pythonic 源代码
  • 在 python 中以半小时为增量创建选择列表

    我正在尝试创建一个
  • 使用 Keras 时,验证集中未见的类别会出现错误

    我有由数值变量和分类变量组成的数据 分类变量有很多类别 因此我使用嵌入来表示这些类别 我的模型是一个简单的神经网络 我知道当你定义嵌入层时你需要通过input dim number of categories 1为了解释训练中看不见的类别
  • 在 C++ 中运行 python [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一个用 C 编写的应用程序和一个测试系统 也是用 C 编写的 测试系统非常复杂并且很难改变 我只想做一些小的改变 我的班级是这样的
  • 我可以在 psycopg2 中使用 md5 身份验证吗?

    经过两个小时的阅读文档 源代码和帮助线程后 我放弃了 我无法让 psycopg2 使用 md5 字符串进行身份验证 根据this http bytes com topic python answers 42597 psycopg authe
  • dump() 缺少 1 个必需的位置参数:python json 中的“fp”

    我正在尝试美化 json 格式 但收到此错误 import requests as tt from bs4 import BeautifulSoup import json get url tt get https in pinterest
  • AWS Cognito 作为网站的 Django 身份验证后端

    我对 Cognito 的理解是 它可以用来代替本地 Django 管理数据库来对网站的用户进行身份验证 然而 我没有找到任何带有通过 Cognito 登录屏幕的基本 Hello World 应用程序的详细示例 如果有人可以发布一篇文章 逐步
  • Django MySQL 创建表时出错

    我有一个类似的问题这张票 https code djangoproject com ticket 18256在 Django 论坛上提出 我该如何解决这个问题 我还扩展了一个用户模型 如下所示 class Profile models Mo

随机推荐

  • UWP/Windows 10 移动版中的 System.Threading.Thread 替换

    在UWP中 如何访问线程对象 我想更改我将管理的主线程和附加线程的名称 我还想检查当前线程是否是主线程 我的目标是 Windows 10 Mobile 以下代码示例适用于桌面 但不适用于手机 获取 System DllNotFoundExc
  • state_activated预蜂窝

    你如何使用
  • 每个请求的 DbContext

    我需要为导入文件实现多线程后台作业 我已经通过后台作业 Hangfire 实现了它 但如果我使用一个线程 它会变得非常慢 该函数看起来像这样 我使用非事务单元立即保存对数据库的更改 var contactFound await contac
  • 如何在编译时检查表达式是否非法?

    我的应用程序遇到问题 我想断言函数应用程序将被编译器拒绝 有没有办法通过 SFINAE 检查这一点 例如 假设我想验证std transform to a const范围非法 这是我到目前为止所拥有的 include
  • PowerBuilder 12.5 Web 表单 - 部署时列不可编辑或丢失 Tab 键顺序

    我是一名经验丰富的 PB 开发人员 但主要使用典型的客户端 服务器架构 并且我确实遇到了问题网页表格应用程序部署到IIS7 5 using PB12 5经典 我正在创建一个可更新的数据对象 Web 服务 它在设计模式下完美工作 但是当从部署
  • 如何使用 hibernate.cfg.xml 创建数据库架构

    using lt property name hbm2ddl auto gt create lt property gt 只创建表 每当模式不存在时 hibernate 就无法创建表 因为模式不存在 Hibernate 不会为您创建模式 但
  • 使用 python 迭代时修改列表

    编辑 当我想修改原始列表时 我知道要迭代列表的副本 然而 我收到的关于在迭代列表时修改列表的错误的唯一解释是 它可能会导致意外的结果 考虑以下 lst a b c d e for x in lst lst remove x print ls
  • Windows 10 中“mvn”未被识别为内部或外部命令、可操作程序或批处理文件错误

    我读过有关此问题的类似问题 但无论如何它都不起作用 我已将 Maven 3 3 3 提取到 D Maven Java 已安装并且工作正常 然后添加了 2 个系统变量 Variable Value M2 M2 HOME bin M2 HOME
  • 我可以在端口 443 上安全地运行 Tomcat 而在 8080 上不安全地运行 Tomcat

    让我解释一下我的情况 目前 我有很多应用程序在 Tomcat 6 上运行 默认端口为 8080 我刚刚创建了一些需要登录的应用程序 我将购买 SSL 证书以安装在此服务器上 我不喜欢使用端口 8443 因为它使 URL 更加复杂 如果我在端
  • Autohotkey:重新映射 Win 键 - 单独按下时

    由于疯狂的笔记本电脑键盘布局和无法映射 Fn 组合 我想做一些重新映射 我想使用 LWin 键作为修饰符 例如 LWin Right gt End 等 它工作得很好 但是 我想在单独按下并释放时停止 LWin 以调出 Windows 菜单
  • 如何在 javascript 正则表达式匹配中将多个匹配 (/g) 与反向引用结合起来

    当使用 g 获取多个匹配 和括号 获取反向引用 时 我对正则表达式匹配返回的数组感到困惑 我不清楚如何获取反向引用 因为匹配数组的下标似乎引用了多个匹配项 而不是反向引用 例如 string abc bcd cde re2 a z p ne
  • MySQL Group By 自定义时间戳

    我想从按日期分组的数据库中获取结果 生成的元组应按日期分组 日期范围为上午 5 点到凌晨 5 点 换句话说 截止时间应该是凌晨 5 点 而不是午夜 12 点 我可以GROUP BY DAY timestamp 按正常日期分组 但如果我必须改
  • Pandas 从日期类型列获取星期几

    我正在使用 Python 3 6 和 Pandas 0 20 3 我有一列已从日期时间转换为日期类型 我所需要的只是日期 为了便于使用 我将其作为派生列 但我希望通过一周中的某一天的计算来进行一些进一步的操作 我可以从日期时间类型获取星期几
  • 更改 MKOverlayView 的 MKOverlay 坐标

    我在地图上有一个叠加层 我想更改其坐标 为了无缝地做到这一点 我将调用设置需要显示地图矩形 http developer apple com library ios documentation MapKit Reference MKOver
  • 如何增加BottomNavigationView的宽度以填充屏幕

    如何增加 BottomNavigationView 菜单的宽度 以下是当前场景 我无法增加整个屏幕的宽度 Menu xml
  • MySQL 日期时间 <-> Java 日期

    我使用 Hibernate 并且 MySQL 数据库中有一个日期时间 现在我想将 java util Date 的日期 时间存储到数据库中 所以我可以写 SimpleDateFormat df new SimpleDateFormat yy
  • 如何将 ArangoDB 嵌入桌面应用程序

    我想在我的应用程序中嵌入一个图形数据库 适用于 Windows Linux 和 MAC 我将搜索范围缩小到 ArangoDB 和 OrientDB 我能够让嵌入式 OrientDB 工作 但我仍然想尝试 ArangoDB 来做出明智的决定
  • 元组结构构造函数抱怨私有字段

    我正在开发一个基本的 shell 解释器来熟悉 Rust 在处理 shell 中存储挂起作业的表时 我遇到了以下编译器错误消息 error cannot invoke tuple struct constructor with privat
  • 请确认:Windows Workflow Foundation 现在是一匹值得支持的好马吗?

    我们正在为一家端到端使用 Microsoft 产品的公司选择工作流程解决方案 鉴于 WF4 的消息 它似乎本质上是对以前版本的重写 支持当前版本是明智之举还是我们应该寻找其他地方 即 当前版本是否太糟糕以至于我们不明智地尝试使用它 Haii
  • TensorFlow 和 Numpy 之间的不同结果

    我有以下代码片段 许多西格玛矩阵是由神经网络生成的 并且这些矩阵必须是正定的 所以这是在调试功能中检查的 奇怪的是 Sigma2 没有给出 LinAlgError Matrix is not Positive Defined Error 而