2.1 pytorch 基础练习
定义数据测试
定义操作测试
其中执行m@v时报错
该处v为long类型与参数类型float不符,修改后执行
transpose和permute中转置过程理解
-
transpose:只能选择tensor中两个维度进行转置
(transpose(X,Y)函数和矩阵的转置是一个意思,相当于行为X轴,列为Y轴,X轴和Y轴调换了位置;
X轴用0表示,Y轴用1表示)
-
permute:可以让tensor按照指定维度顺序(维度的个数就是该tensor的维度数)进行转置
只要这两个函数用过后,tensor都会变得不再连续,就不可以使用view()
randn函数随着操作数的增多逼近正态分布
拼接函数torch.cat
torch.cat() 和python中的内置函数cat(), 在使用和目的上,是没有区别的,区别在于前者操作对象是tensor。
2.2 螺旋数据分类
-
计算出三类样本并输出结果
-
线性模型分类
-
两层神经网络分类
线性模型分类准确度
两层神经网络分类准确度
对比两者,在两层神经网络里加入 ReLU 激活函数以后分类的准确度由51.4%提高到了94.3%,在两层神经网络里加入 ReLU 激活函数,也改变了优化算法。在采用ReLU激活函数时,使用的是Adam优化算法,当继续使用SGD优化算法时,准确率只能提高5%左右。而如果线性模型分类中也使用Adam优化算法时,准确率仍在50%左右,故使用Relu激活函数与Adam优化算法可以很好的提高分类准确率。