-
with torch.no_grad():
- Python中的with
- with 语句适用于对资源进行访问的场合,确保不管使用过程中是否发生异常都会执行必要的“清理”操作,释放资源,比如文件使用后自动关闭/线程中锁的自动获取和释放等。
- requires_grad
- 在pytorch中,tensor有一个requires_grad参数,如果设置为True,则反向传播时,该tensor就会自动求导。tensor的requires_grad的属性默认为False,若一个节点(叶子变量:自己创建的tensor)requires_grad被设置为True,那么所有依赖它的节点requires_grad都为True(即使其他相依赖的tensor的requires_grad = False)
- 当requires_grad设置为False时,反向传播时就不会自动求导了,因此大大节约了显存或者说内存。
- torch.no_grad()
- 在该模块下,所有计算得出的tensor的requires_grad都自动设置为False
- Python中的with
-
nn.softmax(dim=0/1/2/-1)
- dim参数的使用
- 当dim=0时, 是对每一维度相同位置的数值进行softmax运算,和为1
- 当dim=1时, 是对某一维度的列进行softmax运算,和为1
- 当dim=2时, 是对某一维度的行进行softmax运算,和为1
- dim参数的使用