如何判断NumPy是创建视图还是副本?

如何判断NumPy是创建视图还是副本?,第1张

如何判断NumPy是创建视图还是副本

这个问题是非常相似的问题,我问了一段时间后:

您可以检查

base
属性

a = np.arange(50)b = a.reshape((5, 10))print (b.base is a)

但是,这并不完美。您也可以使用查看它们是否共享内存

np.may_share_memory

print (np.may_share_memory(a, b))

您还可以检查flags属性:

print (b.flags['OWNDATA'])  #False -- apparently this is a viewe = np.ravel(b[:, 2])print (e.flags['OWNDATA'])  #True -- Apparently this is a new numpy object.

但这最后一个对我来说似乎有点可疑,尽管我不太清楚为什么…



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5587729.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存