我知道这很简单,但我真不敢相信任何地方都找不到相关信息,以下是内容:
我在Python中有一个大的、高维度的矩阵,我想把它保存为.mat格式(用于Matlab)。 我使用scipy.io.savemat方法来保存这个矩阵,但它总是保存为双精度。我想将其保存为较低精度的类型,如单精度或16位浮点数。 我在保存之前将数组转换为低精度数据类型,但它总是保存为双精度。难道真的没有办法以更低精度的浮点数类型保存mat文件吗? .savemat似乎不接受dtype参数。
我在Python中有一个大的、高维度的矩阵,我想把它保存为.mat格式(用于Matlab)。 我使用scipy.io.savemat方法来保存这个矩阵,但它总是保存为双精度。我想将其保存为较低精度的类型,如单精度或16位浮点数。 我在保存之前将数组转换为低精度数据类型,但它总是保存为双精度。难道真的没有办法以更低精度的浮点数类型保存mat文件吗? .savemat似乎不接受dtype参数。
import scipy as sp
sp.io.savemat('test.mat', {'test': sp.array([0.001, 1, 1.004], dtype='Float16')})
numpy
中,float64
是默认的浮点值。在savemat
中,可能没有太多代码来处理这个问题。 - hpaulj