4.5 读取和存储
到目前为止,我们介绍了如何处理数据以及如何构建、训练和测试深度学习模型。然而在实际中,我们有时需要把训练好的模型部署到很多不同的设备。在这种情况下,我们可以把内存中训练好的模型参数存储在硬盘上供后续读取使用。
4.5.1 读写Tensor
我们可以直接使用save
函数和load
函数分别存储和读取Tensor
。save
使用Python的pickle实用程序将对象进行序列化,然后将序列化的对象保存到disk,使用save
可以保存各种对象,包括模型、张量和字典等。而load
使用pickle unpickle工具将pickle的对象文件反序列化为内存。
下面的例子创建了Tensor
变量x
,并将其存在文件名同为x.pt
的文件里。
import torch
from torch import nn
x = torch.ones(3)
torch.save(x, ‘x.pt’)Copy to clipboardErrorCopied
然后我们将数据从存储的文件读回内存。
x2 = torch.load(‘x.pt’)
x2
Copy to clipboardErrorCopied
输出:
tensor([1., 1., 1.])
Copy to clipboardErrorCopied
我们还可以存储一个Tensor
列表并读回内存。
y = torch.zeros(4)
torch.save([x, y], ‘xy.pt’)
xy_list = torch.load(‘xy.pt’)
xy_list