问题
使用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')
标签:读取,numpy,dtype,np,array,数据,float32
From: https://www.cnblogs.com/azureology/p/16816151.html