说明:程序运行时,有很多时候"直接保存"一些列表、字典、元组等"Python自己的数据类型",要比将它们转写入到一个文件(如.txt)中方便的多!
此时,针对这些Python自带的数据类型的保存,可以用Pickle这个内置的包来快速完成保存与读入。并且因为Pickle会直接把文件转为二进制形式,因此速度非常的快!
包:import pickle
保存到一个文件:pickle.dump(data, filename)
读取一个文件:pickle.load(filename)
直接看一个例子,马上会用:
import pickle
a = {'history':21231, 'loss':2.3241, 'ceshi':'gby'}
# 保存/写入到一个二进制文件中:
fw = open('dataFile.bin', 'wb')
pickle.dump(a, fw, -1)
fw.close()
# 读取对应的文件:
fr = open('dataFile.bin', 'rb')
a1 = pickle.load(fr)
# 效果:一模一样,且速度极快!
a1
Out[3]: {'history': 21231, 'loss': 2.3241, 'ceshi': 'gby'}
只需注意一点:
- pickle处理的都是"二进制"文件,所以不管是读、写文件,都要带上'b'!
应用:
- 在深度学习模型训练时:history = model.fit() 这里返回的history是一个字典。如果你的网络很大训练时间很长,不能实时查看history的变化。就可以把最后的history字典用pickle保存为一个二进制文件即可,保存速度很快。
网友评论