pytorch:model.train()、grad()、.add()、.add_()、.mul()、.mul_()、.exp()、.exp_()、.step())

需要在训练时候添加model.train(),在测试时添加model.eval()。其中,model.train()是保证BN层用每一批数据的均值和方差,model.eval()是保证BN用全部训练数据的均值和方差。对于Dropout,model.train()是随机抽取一部分网络连接来训练更新参数,而model.eval()是利用到了所有网络连接。

常用的激活函数有relu、sigmoid、tanh、softmax、softplus

x.grad是查看所求得x的梯度值。

add()和.add_()都能把两个张量加起来,但.add_是in-place操作,比如x.add_(y),x+y的结果会存储到原来的x中。Torch里面所有带"_"的操作,都是in-place的。

x.mul(y)或x.mul_(y)实现把x和y点对点相乘,其中x.mul_(y)是in-place操作,会把相乘的结果存储到x中。值得注意的是,x必须是tensor, y可以是tensor,也可以是数。

.exp()和.exp_()都能实现以e为底的指数,区别是.exp_()是in-place操作。

optimizer.step(),更新优化器的所有参数

你可能感兴趣的:(python)