在使用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()
这个用起来还是比较有效果的