Loading

记一次numpy数据读取问题

问题

使用numpy保存npy文件后在C++中读取使用
shape正确值始终对不上

分析

C++中使用cnpy进行文件读取,设置数据类型为float32
Python中使用list对数据进行保存,没有指定数据类型
问题就出在这里,numpy默认数据类型为float64

>>> import numpy as np
>>> a = np.array([1.0])
>>> a
array([1.])
>>> a.dtype
dtype('float64')

后续c++按照float32的offset进行读取进而导致解析错误

解决

显式指定dtype问题解决

>>> a = np.array([1.0],dtype = np.float32)
>>> a
array([1.], dtype=float32)
>>> a.dtype
dtype('float32')
posted @ 2022-10-22 15:17  azureology  阅读(100)  评论(0)    收藏  举报