lee-romantic 's Blog
Everything is OK!
Toggle navigation
lee-romantic 's Blog
主页
About Me
归档
标签
pickle模块的简单使用
2018-10-31 13:21:58
208
0
0
lee-romantic
**1.入门级简单使用** `泡菜模块`的简单使用,不止是列表对象,其他的比如字典,tuple等都可以保存为pkl文件,pkl是一种二进制文件: ``` >>> import pickle >>> >>> my_list=[1,2,3,'loss'] >>> pickle_file=open('mylist.pkl','wb')#默认地址,在windows下应该是python解释器的位置,ubuntu则直接放在了/home/lb #>>> pickle_file=open('/home/lb/安装包/second.pkl','wb')# 也可以这样,指定文件位置 >>> pickle.dump(my_list,pickle_file) >>> pickle_file.close() >>> >>> pickle_file=open('mylist.pkl','rb') >>> my_list2=pickle.load(pickle_file) >>> print(my_list2) [1, 2, 3, 'loss'] >>> ``` **2.pkl文件实际应用** 一种应用主要是保存深度学习网络的模型,或者只保存其参数parameters: `(1)保存模型`: ``` # 2 ways to save the net torch.save(net1, 'net.pkl') # save entire net torch.save(net1.state_dict(), 'net_params.pkl') # save only the parameters ``` `(2)加载模型`: a)直接加载模型,缺点是占用较大空间: ``` net2 = torch.load('net.pkl')#然后网络net2就可以正常使用了,比如prediction = net2(x) ``` b)只加载网络权重参数,这种情况下,参数占用的空间比模型小,缺点就是加载时,需要自己先搭建一个跟需要加载的网络结构一样的网络,再加载网络参数: ``` # restore only the parameters in net1 to net3 net3 = torch.nn.Sequential( torch.nn.Linear(1, 10), torch.nn.ReLU(), torch.nn.Linear(10, 1) ) # copy net1's parameters into net3 net3.load_state_dict(torch.load('net_params.pkl')) prediction = net3(x) ```
上一篇:
REID信息检索的基本指标
下一篇:
第四章预习要点
0
赞
208 人读过
新浪微博
微信
腾讯微博
QQ空间
人人网
提交评论
立即登录
, 发表评论.
没有帐号?
立即注册
0
条评论
More...
文档导航
没有帐号? 立即注册