pytorch学习遇到的问题汇总

1.向量求导

向量对向量求导 - _yanghh - 博客园 (cnblogs.com)https://www.cnblogs.com/yanghh/p/13758243.html

2.backward和grad

一文解释PyTorch求导相关 (backward, autograd.grad) - 知乎PyTorch是动态图,即计算图的搭建和运算是同时的,随时可以输出结果;而TensorFlow是静态图。 在pytorch的计算图里只有两种元素:数据(tensor)和 运算(operation) 运算包括了:加减乘除、开方、幂指对、三角函…https://zhuanlan.zhihu.com/p/279758736补一些个人对grad的理解:grad在网络中的意义就是通过grad对参数不断进行更新,grad起到一个不断纠正参数向回归靠拢的作用。同时,在构建网络时可以对多个layer进行参数共享,由于模型参数包含grad,则反向传播时这组gard对参数的影响将会成倍放大。

3.神奇的代码,能解决大多数jupyter环境下内核挂掉问题(d2l学习过程中有一些plt展示在正常ide上应该可以,但是jupyter需要加上这两行)

import os
os.environ['KMP_DUPLICATE_LIB_OK']='True'

4.forward pytorch可以通过直接调用module对象实例来实现对module类中forward()方法的调用(即net()可以实现net.forward()的效果),其实现原理如下

Pytorch 中的 forward理解 - 知乎前言我们在使用Pytorch的时候,模型训练时,不需要调用forward这个函数,只需要在实例化一个对象中传入对应的参数就可以自动调用 forward 函数。 class Module(nn.Module): def __init__(self): super().__init__(…https://zhuanlan.zhihu.com/p/357021687

你可能感兴趣的:(学习之路,python)