实现了一些PyTorch基本操作,原理可参考《神经网络与深度学习》《动手学深度学习》中的内容。个人练习,切勿与任何作业和考试挂钩。代码运行在Python 3.9.7版本以及Pytorch 1.10版本中。
- 使用Tensor初始化一个1×3的矩阵M和一个2×1的矩阵N,对两矩阵进行减法操作(三种不同形式),给出结果并分析三种方式的不同(如果出现报错,分析报错的原因)。
- ①利用Tensor创建两个大小分别3×2和4×2的随机数矩阵P和Q,要求服从均值为0,标准差0.01为的正态分布;②对第1步得到的矩阵Q进行形状变换得到Q的转置QT;③对上述得到的矩阵P和矩阵QT求矩阵相乘。
- 给定公式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的随机数矩阵P和Q,服从均值为0,标准差0.01为的正态分布;利用Q.t操作实现转置Q矩阵的转置运算;torch.mm和torch.matmul函数均能实现矩阵的相乘的操作。
对于第3题:
利用torch.tensor函数创建一个数值为1的数x;分别按要求写出y1、y2、y3的表达式;由于y2要求中断梯度追踪,因此加入with torch.no_grad()语句。
具体代码见:🍞正在装饰个人主页...文章来源:https://www.toymoban.com/news/detail-583237.html
或见:https://download.csdn.net/download/weixin_44940903/86398370文章来源地址https://www.toymoban.com/news/detail-583237.html
到了这里,关于PyTorch基本操作练习的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!