机器学习中的参数矩阵如何保存??当脱离了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。。;文章来源:https://www.toymoban.com/news/detail-516997.html
有问题随时联系,欢迎一键三连~文章来源地址https://www.toymoban.com/news/detail-516997.html
到了这里,关于如何保存矩阵?python代码实现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!