我正在使用来自“ Building a Recommendation System in TensorFlow: Overview”的Google代码,并且在运行其WALS算法的实现时,收到此错误:
RuntimeWarning:除法中遇到的零除 frac = np.array(1.0 /(数据> 0.0).sum(轴))
这可以在代码Google's Github WALS Algorithm的第94行的上下文中看到。
奇怪的是,我并非总是会收到此错误。我使用的数据集只会随着时间的推移而变大,因此我不认为这种情况正在发生,因为没有足够的数据。我很确定那行代码的意思是说,如果数字大于零,则计算倒数,但如果数字为零,则将其保留为零,但在“将零保留为零的情况下”中无法正常工作。如果此声明没有执行此操作,那么有人可以告诉我为什么data > 0.0
不够用,以及如何进行更改吗? (注意数据是一个矩阵)
答案 0 :(得分:1)
我们可以使用np errstate忽略除以零错误的结果
使用np.errstate(divide ='ignore'): frac = np.array(1.0 /(数据).sum(轴))