1.保存与加载的概念(序列化与反序列化)
模型训练完毕之后,肯定想要把它保存下来,供以后使用,不需要再次去训练。
那么在pytorch中如何把训练好的模型,保存,保存之后又如何加载呢?
这就用需要序列化与反序列化,序列化与反序列化的概念如下图所示:
因为在内存中的数据,运行结束会进行释放,所以我们需要将数据保存到硬盘中,以二进制序列的形式进行长久存储, 便于日后使用。
序列化即把对象转换为字节序列的过程,反序列化则把字节序列恢复为对象。
在pytorch中,对象就是模型,所以我们常常听到序列化和反序列化,就是将训练好的模型从内存中保存到硬盘里,当要 使用的时候,再从硬盘中加载。
2. torch.save / torch.load
pytorch提供的序列化与反序列化函数分别是
功能:保存对象到硬盘中
主要参数: obj- 对象 f - 文件路径