PyTorch基本操作练习

实现了一些PyTorch基本操作,原理可参考《神经网络与深度学习》《动手学深度学习》中的内容。个人练习,切勿与任何作业和考试挂钩。代码运行在Python 3.9.7版本以及Pytorch 1.10版本中。

  1. 使用Tensor初始化一个1×3的矩阵M和一个2×1的矩阵N,对两矩阵进行减法操作(三种不同形式),给出结果并分析三种方式的不同(如果出现报错,分析报错的原因)。
  2. ①利用Tensor创建两个大小分别3×2和4×2的随机数矩阵P和Q,要求服从均值为0,标准差0.01为的正态分布;②对第1步得到的矩阵Q进行形状变换得到Q的转置QT;③对上述得到的矩阵P和矩阵QT求矩阵相乘。
  3. 给定公式y3=y1+y2=x2+x3,且x=1。利用学习所得到的Tensor的相关知识,求y3对x的梯度。要求在计算过程中,在计算x3时中断梯度的追踪,观察结果并进行原因分析。

对于第1题:

利用了torch.rand函数初始化一个1×3的矩阵M和一个2×1的矩阵N;利用直接相减、torch.nn函数和inplace原地操作三种方法(参考课件中的加法)进行减法运算。

对于第2题:

利用了torch.normal函数创建两个大小分别3×2和4×2的随机数矩阵PQ,服从均值为0,标准差0.01为的正态分布;利用Q.t操作实现转置Q矩阵的转置运算;torch.mm和torch.matmul函数均能实现矩阵的相乘的操作。

对于第3题:

利用torch.tensor函数创建一个数值为1的数x;分别按要求写出y1y2y3的表达式;由于y2要求中断梯度追踪,因此加入with torch.no_grad()语句。

具体代码见:https://mianbaoduo.com/o/bread/Yp2ZmZly​​​​​​​

或见:https://download.csdn.net/download/weixin_44940903/86398370

你可能感兴趣的:(深度学习练习题,pytorch,python,人工智能,深度学习)