这节课学习网络的构造,在mindspore中提供了Cell类,这也是构建一切网络 的基础。
定义网络类中,__init__中构造网络结构,constructure中实现Tensor操作方法。
该结构中:
nn.Flatten
可将28*28的2D张量转换成784大小的连续数组,将二维数据展平变成了一维的。
nn.Dense
全连接层,可依kx+b的形似,使用权重和偏差对输入进行线性变换。
nn.ReLU
此层为激活函数,可以过滤一些不重要数据,帮助学习更复杂特征,如图示:
负数被统一为0了。
nn.SequentialCell
Cell 容器,输入的向量将按照定义的顺序通过所有Cell,SequentialCell可以用来构造神经网络模型:
nn.Softmax
该方法将全连接层最后返回的值缩放为【0, 1】。表示每个类别的预测概率。
模型参数
网络内部神经网络层具有权重参数和偏置参数(如nn.Dense),这些参数会在训练过程中不断进行优化,可通过 model.parameters_and_names() 来获取参数名及对应的参数详情: