torch生成的tensor requires_grad默认为False
dataloader生成的batch_data和batch_label默认为False
requires_grad 和 volatile 的操作都相当于or,只要有一个为True,加和的结果也为True
volatile=False 相当于 requires_grad=True,意味着需要梯度
volatile=True 用于 inference模式,只要输入volatile=True,那么输出Variable的volatile必为True,
比requires_grad=False方便很多(不需要更新梯度,适用于冻结某些层的梯度)
不需要反向传播,用 with torch.no_grad()
train: volatile = False || require_grad = True
test: volatile = True || require_grad = False