python - Google WALS Trainer Division by Zero?
问题描述
我正在使用“在 TensorFlow 中构建推荐系统:概述”中的 Google 代码,并且在运行他们的 WALS 算法实现时,我收到了这个错误:
RuntimeWarning:除以零时遇到除 frac = np.array(1.0/(data > 0.0).sum(axis))
这可以在代码第 94 行的上下文中看到:Google 的 Github WALS 算法。
奇怪的是,我并不总是得到这个错误。我使用的数据集只会随着时间的推移而变大,所以我不相信这种情况会发生,因为没有足够的数据。我很确定这行代码的意思是说如果数字大于零,则计算倒数,但如果为零,则将其保留为零,但在“将零保留为零的情况”中无法按预期工作。如果这个声明没有这样做,有人可以告诉我为什么data > 0.0
不够以及如何改变它吗?(注意数据是一个矩阵)
解决方案
我们可以使用 np errstate 来忽略除以零错误
与 np.errstate(divide='ignore'): frac = np.array(1.0/(data).sum(axis))
推荐阅读
- xml - 动态 XML 站点地图脚本出错
- ios - 'subscript(_:)' 不可用:不能用 Int 为 String 下标,请改用 String.Index
- google-sheets - 谷歌电子表格搜索列表从下到上
- flutter - Flutter:如何对个性进行分组
- python - 使用 Python 进行网页抓取,如何使用以前的会话/cookie/登录上下文转到 https://finance.yahoo.com/ 来抓取我的股票投资组合详细信息
- vue.js - 使用 Vue-CLI 创建 vue 项目时出现 npm 错误
- python - Python - 使用 lxml 在 XLM 文件中提取带有标签的内容
- android - 错误:RPC 失败;将我的 android 项目推送到 github 时,curl 18 传输关闭,剩余未完成的读取数据
- ios - 有时在对象更新后 Core Data 不会持久化
- javascript - Twitch API 不返回任何内容