Friday, March 9, 2018

pytorch


此外有些操作会导致tensor不连续,这时需调用tensor.contiguous方法将它们变成连续的数据,该方法会使数据复制一份,不再与原来的数据共享storage。 

e.is_contiguous()


https://github.com/chenyuntc/pytorch-book/blob/master/chapter3-Tensor%E5%92%8Cautograd/Tensor.ipynb 里面最后linear regression 实战的部分 db = dy.sum() 可以理解为 y = wx + b*Tensor((1,1,1,1)). 所以在求矩阵导数的时候,db = Tensor(1,1,1,1)的逆矩阵*dy 也就是求dy.sum()

用autograd的时候如何保留非叶子节点的grad,具体有两种,见https://github.com/chenyuntc/pytorch-book/blob/master/chapter3-Tensor%E5%92%8Cautograd/Autograd.ipynb
这里面还介绍了 自己怎么写一个function 函数来自定义Backward 反向传播

No comments:

Post a Comment