李沐-softmax从0开始实现

注意点以及函数:

1.对于图片数据,除了imshow()可视化的时候按照维度,进行神经网络传递一般为了方便用flatten()化成(数目,总像素数)的二维矩阵。一般也可以用reshape去展平

2.matmul相当于mm

3.切片相关:m[[0,2],[2,4]]代表选取对应元素,如此代表选择m第一行第三列以及第三行第五列的元素,返回一个两个元素的向量

4.min,max函数是取得最大最小的值,argmin,argmax是取得最大最小的元素对应索引

5..type()是可选择类型的类型转换函数,进行类型强制转化

6.isinstance():一般用于判断类型和所属模块:1,类型判断:(对象,dtype);2,模块判断:(函数,模块);会返回一个bool值

7.对于nn.Module中的net,可以通过train()以及eval()来切换训练和评估模式,具体就是对于net是否可导,是否进行正则化进行选择

8.Accumulator():可以索引的计数器,例如:Accumulator(2)代表有两个计数单元,可以通过.add()进行添加,每用一个逗号跨一个单元。Accumulator(2)[1]代表计数器的第二个计数单元。可以近似认为类型为(2,)(不是)

9.sum()元素之和,numel()元素个数之和

10.assert:后面直接跟判断条件用于调试。

11.append作用于列表,add则是自定义函数,一般作用于特定函数块

12.torch.optim.Optimizer中的优化方法函数例如sgd,无返回值,.step()后直接进行修改

实现历程:softmax依旧为线性:特点:多分类,多输出,单层

过程:1-读取数据,2-初始化参数,3-定义模型:1-softmax操作,2-模型本体,4-损失函数,5-训练-反向和梯度有自动化,所以不需要专门定义

注意:1,参数初始化需要强调可导,2,b数目是特征数而不是样本数,相当于输入层每个节点对一个偏执

简单实现:一.数据,二.初始化:1.网络初始化:定义网络结构,2.设计层参数初始化函数,3.apply()为网络添加初始化函数以初始化网络每一次,三。定义损失函数,四。定义优化器,五,进行训练

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值