主模块
规格数据输入(加载,调格式,归一化)
定义网络结构
设置训练参数
调用初始化模块
调用训练模块
调用测试模块
画图
初始化模块
设置初始化参数(输入通道,输入尺寸)
遍历层(计算尺寸,输入输出通道,参数数量,w,b)
设置输出标签数
设置最后一层的神经元数
设置输出神经元的偏置
设置最后一层和输出神经元间的权重
训练模块
计算训练批数(读取样本个数,每批数目)
批循环
读取每批样本
前向传播
反向传播
更新参数
更新误差曲线
前向传播模块
读取层数
遍历层
判断层的类型
*卷积层:
*池化层:
*将特征图组成张量
*将结果赋值给输出神经元
反向传播模块
计算偏差
计算损失函数
反向传播delta
*卷积层:
*池化层:
计算梯度
*权重:
*偏置:
计算最后一层和输出神经元间权重的改正值
计算输出神经元偏置的改正值
更新参数模块
寻找卷积层
*更新权重
*更新偏置
更新最后一层和输出神经元间权重
更新输出神经元偏置
测试模块
调用前向传播模块
读取输出神经元的结果
准备真值
计算错误率