pytorch中nn.parameter和require_grad=True的区别

nn.parameter()

首先可以把这个函数理解为类型转换函数,将一个不可训练的类型Tensor转换成可以训练的类型parameter并将这个parameter绑定到这个module里面(net.parameter()中就有这个绑定的parameter,所以在参数优化的时候可以进行优化的),所以经过类型转换这个self.v变成了模型的一部分,成为了模型中根据训练可以改动的参数了。

torch.tensor([1,2,3],requires_grad=True)

这个只是将参数变成可训练的,并没有绑定在module的parameter列表中。

相同点

想让某些变量在学习的过程中不断的修改其值以达到最优化。

不同点

是否将该参数绑定到modele中。

你可能感兴趣的:(pytorch,pytorch,深度学习,机器学习)