BJTU深度学习实验
实验一
1. 使用Tensor初始化一个1 × 3的矩阵M 和一个2× 1的矩阵N,对两矩阵进行减法操作(要求实现三种不同的形式),给出结果并分析三种方式的不同(如果出现报错,分析报错的原因),同时需要指出在计算过程中发生了什么。
- M=torch.rand(1,3)
- print(M)
- N=torch.rand(2,1)
- print(N)
- #减法形式一
- print(M-N)
- #减法形式二
- print(torch.sub(M,N))
- #减法形式三,inplace原地操作
- N.sub_(M)
- print(N)
2. ①利用Tensor创建两个大小分别3 × 2和4 × 2的随机数矩阵P和Q,要求服从均值为0,标准差0.01为的正态分布;②对第二步得到的矩阵Q进行形状变换得到Q的转置 QT;③ 对上述得到的矩阵P和矩阵QT求矩阵相乘。
- P=torch.normal(0.0,0.01,(3,2))
- print(P)
- Q=torch.normal(0.0,0.01,(4,2))
- print(Q)
- Qt = Q.t()
- print(Qt)
- print(torch.matmul(P,Qt))
3. 要求动手从0实现softmax回归(只借助Tensor和Numpy相关的库)在Fashion-MNIST数据集上进行训练和测试,并从loss、训练集以及测试集上的准确率等多个角度对结果进行分析(要求从零实现交叉熵损失函数)。
实验二
2.利用torch.nn实现前馈神经网络解决上述回归、二分类、多分类任务
3.在多分类实验的基础上使用至少三种不同的激活函数
4.对多分类任务中的模型评估隐藏层层数和隐藏单元个数对实验结果的影响
5.在多分类任务实验中分别手动实现和用torch.nn实现dropout
6.在多分类任务实验中手动实现𝑳𝟐正则化
7.对回归、二分类、多分类任务分别选择上述实验中效果最好的模型,采用10折交叉验证评估实验结果
实验三
1.手写二维卷积的实现,并在至少一个数据集上进行实验,从训练时间、预测精度、Loss变化等角度分析实验结果(最好使用图表展示)。
2.使用torch.nn实现二维卷积,并在至少一个数据集上进行实验,从训练时间、预测精度、Loss变化等角度分析实验结果(最好使用图表展示)。
3.使用torch.nn实现空洞卷积,要求dilation满足HDC条件(如1,2,5)且要堆叠多层并在至少一个数据集上进行实验,从训练时间、预测精度、Loss变化等角度分析实验结果(最好使用图表展示)。
4.实现给定结构的残差网络,在至少一个数据集上进行实验,从训练时间、预测精度、Loss 变化等角度分析实验结果(最好使用图表展示)。
实验四
1.1.理解序列数据处理方法,补全面向对象编程中的缺失代码,并使用torch自带数据工具将数据封装为dataloader。
2.分别采用手动方式以及调用接口方式实现RNN、LSTM和GRU,并在至少一种数据集上进行实验。
大作业
微博情绪分类任务旨在识别微博中蕴含的情绪,输入是一条微博,输出是该微博所蕴含的情绪类别。在本次任务中,我们将微博按照其蕴含的情绪分为以下六个类别之一:积极、愤怒、悲伤、恐惧、惊奇和无情绪。