Python 性能流相当于numpy.isnan(X).any()
给定一个对象Python 性能流相当于numpy.isnan(X).any(),python,numpy,Python,Numpy,给定一个对象X,它可能是内存中的一个具有功能的映射,如numpy数组。。。或者一个比内存更大的生成器(在我的例子中特别是一个PyTorchIterableDataset) 如何在不运行到内存错误的情况下,有效地检查意外值,如np.isnan(X).any()或np.isinf(X).any() 例如,这两者之间的时间差相当大: %%次 np.isnan(范围(010000000)).any() #CPU时间1.37秒 %%次 尝试: 下一步(如果np.isnan(X),则X代表范围(0,100
X
,它可能是内存中的一个具有功能的映射,如numpy数组。。。或者一个比内存更大的生成器(在我的例子中特别是一个PyTorchIterableDataset
)
如何在不运行到内存错误的情况下,有效地检查意外值,如np.isnan(X).any()
或np.isinf(X).any()
例如,这两者之间的时间差相当大:
%%次
np.isnan(范围(010000000)).any()
#CPU时间1.37秒
%%次
尝试:
下一步(如果np.isnan(X),则X代表范围(0,10000000)内的X)
真的
除停止迭代外:
假的
#CPU时间8.18秒
如果可能的话,以良好的速度,最好避免嗅探X
,并为map vs generator设置两个单独的代码路径。也许您可以使用numba?