我知道这很简单,我不敢相信我在任何地方都找不到任何关于它的东西,但它在这里:
我在 python 中有一个大的高维矩阵,我想将其保存为 .mat 格式(用于 matlab)。 我正在使用 scipy.io.savemat 方法来保存这个矩阵,但它总是保存为 double 。我想将其保存为精度较低的东西,例如单精度或 16 位 float 。
我在保存前将数组转换为低精度数据类型,但它始终保存为 double 。真的没有办法将 mat 文件保存为精度较低的 float 类型吗?
.savemat 似乎不接受 dtype 参数。
import scipy as sp
sp.io.savemat('test.mat', {'test': sp.array([0.001, 1, 1.004], dtype='Float16')})
最佳答案
显然它需要是单人或双人。 scipy.io.savemat() 不支持其他浮点精度,如果它不喜欢你的数据类型,它会在没有警告的情况下随意默认为 double。
关于python - 在 scipy.io.savemat 中以不同的数值数据格式保存 mat 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23326266/