tensorflow - CNN 模型在 CPU 和 GPU 上 tensorflow 预测的差异
问题描述
我已经在 GPU 上训练了 FCN 网络并保存了模型(.pb 文件)。我在 GPU 上得到了正确的预测。但是,当我在 CPU 上运行预测时,我会为同一模型文件获取 NAN。是否需要设置任何 CPU/GPU 标志?还是CPU有溢出问题?
解决方案
CPU 上没有特殊的溢出条件。两者都应该实现 IEEE 754。
一些高级函数可以通过不同的方式实现(tanh、sigmoid),它们在 GPU 和 CPU 上的实现方式不同,以利用平台。
每当您从模型中获得 NaN 时,很可能会出现问题。不要尝试用一些标志来修补它,而是尝试调试并查看发生了什么。在几乎所有情况下,您都有一个退化模型,该模型仅由于某些硬件的某些极端情况而起作用。
一旦发现问题,通常可以通过限制某些值或修改数据的表示方式(例如记录大数)来解决问题。
推荐阅读
- c# - 如果使用字符串值以防万一,那么我们不需要在比较之前转换格式吗?
- react-native - 如何限制 textInput 中的行数?在反应
- python - 如何从 python 中的 xml 文档中提取和保存 base64 字节数组
- ffmpeg - 在使用 ffmpeg 作为字幕嵌入视频之前,“修复”RTL 文本从逻辑到视觉
- reactjs - Next.js 将附加数据传递给动态路由
- reactjs - 浏览器使用后死机
零件 - cics - 与 CEDF 一起使用时,CICS 应用程序提供不同的结果/输出
- javascript - 如何在每次页面更改时运行 chrome 扩展代码
- android - 将数据保存到 OnLifecycleEvent.ON_STOP 中的 Preferences DataStore 永远不会被调用
- c# - 在字符串中获取年份的最简单方法是什么?