深度学习简单框架讲解例子

易语言 2020-10-14 11:53:13

深度学习简单框架讲解例子

分层预处理参数,便于扩展与维护。


loss=求结果与预测的差距
批次大小=样本数


层功能: 卷积2d层 :具有补齐边缘特性 输出尺寸 = 样本数,输出数(输出通道数),输出高度,输出宽度 厚度=1.

池化2d层: 学习模块中仅有最大池化。 具有减小尺寸平移不变性特性 输出尺寸=样本数,输出高度,输出宽度 其余个尺寸与输入的一致

线性层 : 全连接层 这个特性就是***,,,, 输出尺寸= 样本数,输出数

线性整流层: 激活函数relu 特性是小于0的值=0 输出尺寸=输入尺寸

LogSoftmax层: 将输出值转换成概率 -0.69约等于我们的2分之1 通常搭配nllloss使用 输出尺寸=输入尺寸


loss功能: loss_mes : 方差loss 输出尺寸=输入尺寸 反向传播时 结果的尺寸=输出尺寸

loss_nll : 概率loss,通常搭配LogSoftmax使用 输出尺寸=输入尺寸 反向传播时 结果尺寸=样本数,1 传递索引, 索引从0开始

优化器功能: 只有一个adam 直接集成在了训练方法中。

权重的初始化: 普通:普通的。。
开方: 好像是打错了应该是平方,懒得改了 相当于普通方式的2分之1 对使用线性整流激活 非常的友好 根据网上的文案,偏置的初始化是为0的,可以尝试参照普通的改改。

其他功能: 张量归一化: 这是我自想的,可能效果不太好。

正太化:是归一化的一种 与正常方法不同的是 它是针对于单样本的 而且我没有写反向传播的实现,当然,反向需要在前向时记录均值与标准差。

在 类_汇编 的运算中,有一两个还没有用汇编实现,备注里待完善的就是了。

学习模块的模型是独立的类,也就是说,可以使用多个模型协调整合成一个复杂的模型。