python – 了解numpy数组如何在内存中布局
发布时间:2020-05-23 18:29:29 所属栏目:Python 来源:互联网
导读:我正在尝试使用numpy在python中使用构建OpenGL纹理,但我遇到了问题,因为我无法预测numpy数组将如何在内存中组织.下面的示例程序(应该按原样运行)说明了我的困惑:from pylab import * array_by_hand = array( [[[1, 2, 3, 4], [1, 2, 3, 4]], [[1, 2,
|
我正在尝试使用numpy在python中使用构建OpenGL纹理,但我遇到了问题,因为我无法预测numpy数组将如何在内存中组织.下面的示例程序(应该按原样运行)说明了我的困惑:
虽然就python而言,这两个数组是等价的,但在内存中的布局不同,因此OpenGL的显示方式不同.有人可以解释为什么会发生这种情况以及我如何将两个数组强制转换为相同的格式? 最佳答案 如果改为调用tostring方法,它会将数组转换为C连续布局:
在您的情况下字符串不同的原因是因为dstack调用.它试图通过简单地组合源数组的底层数据然后更改numpy’s stride information来将数组堆叠在一起.这导致数组不是C连续布局. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
