torch.save() torch.load() torch norm() Formalize()

210 阅读1分钟

 

在使用pytorch进行深度学习训练的时候,经常会有些内容需要保存下来,保存到硬盘张,不管什么时候我们都可以读取到,那么这个时候,使用torch.save()就可以将内容存储器来,使用torch.load()就可以将存取的内容读取出来。

1.torch.save()使用方法

torch.save()使用的时候需要往里面放进去两个参数,分别是要存储的内容和存储的地址。下面是个例子:

import torch

statemement = {'name':'dalishi','age':19}
torch.save( statemement, 'save_try.pth.tar' )

我要保存的内容是一个字典,那么这个字典就会原原本本的保存下来,这里不只是可以保存字典,其他的任何类型内容都可以保存下来,包括列表、单变量、张量什么的,都没有问题。

2.torch.load()使用方法

对于使用了torch.save()保存了的内容,如何读取出来呢?例子如下:

import torch

save_try = torch.load( 'save_try.pth.tar' )
print(save_try)

运行结果如下:

{'name': 'dalishi', 'age': 19}

 

torch中的normalize的功能是将一个向量单位化,比如一个向量为:

x = [1,2,3,4]

则标准化过程为先求出这个向量的二范数,然后将每一个维度上面的值都除以这个二范数。

import torch.nn.functional as F
import torch

x = torch.randn(1,3)
print(x)

z = F.normalize(x)
print(z)

运行结果为:

tensor([[-1.0407, -1.1139, -0.9541]])

设一个向量为x 则x.norm()返回的是这个向量的二范数

import torch

x = torch.tensor([1.0,2.0,3.0])
print(x.norm())

输出为:

tensor(3.7417)

所以如果要对一个向量进行单位化,可以直接F.normalize(x) ,也可以x = x / x.norm()

这个用起来还是比较有效果的 ​