如何保存矩阵?python代码实现

机器学习中的参数矩阵如何保存??当脱离了dl的框架后,菜鸟表示啥都不会。。
可以借用scipy包的savemat函数保存,loadmat函数读取;
首先要确保有scipy这个包,没有就安装一下
pip install scipy ,我这里的版本是1.7;


Talk is cheap ,show me the code~

from scipy.io import savemat,loadmat
import numpy as np

inp = np.arange(16).reshape(4,4)
inp = np.mat(inp)
print('input matrix is:')
print(inp,inp.shape)
save_dict = {'name':'matrix','data':inp}
#  test.mat是保存路径,save_dict必须是dict类型,他就这么定义的!
savemat('test.mat',save_dict)
sv = loadmat('test.mat')
print(f'output matrix is \n{sv["data"]},matrix shape is {sv["data"].shape}')

-------------------------------分割线-----------------------------------

输出结果如下:
input matrix is:
[[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]
 [12 13 14 15]] (4, 4)

output matrix is 
[[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]
 [12 13 14 15]],matrix shape is (4, 4)

第二种实现方式:

#利用pickle实现,代码实现如下:

import numpy as np
import pickle
import time
import os

#建立一个时间命名的文件夹--------
abc = time.strftime('%Y%m%d-%H%M%S')
os.mkdir(abc)

inp = np.arange(16).reshape(4,4)
inp = np.mat(inp)
print('input matrix is:')
print(inp,inp.shape)
save_dict = {'name':'matrix','data':inp}
with open(f'{abc}/test.pickle','wb') as f:
    pickle.dump(save_dict,f)

with open(f'{abc}/test.pickle','rb') as f:
    output = pickle.load(f)
print('output matrix is -----------------\n',output['data'],type(output['data']))

 为什么不能用json实现?实验了一下,似乎是不支持numpy的格式,so。。;

有问题随时联系,欢迎一键三连~

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值