作为新手小白,见到一个神经网络的项目,看到如此多的程序量,难免会有些头疼,我们要做的就是将代码分部分来看,逐块进行理解:
神经网络的一般步骤:
1\对数据进行处理,
----------1.1, resume:是否重新开始训练
2\导入模型
----------2.1,使用多GPU
3\配置优化器
----------优化器的常规input:
---------------3.1,网络的全部参数:model.parameters()
---------------3.2,学习率
---------------3.3优化方法:momentum
---------------3.4,权重衰减:weight_decay
4\配置损失函数----------4+, 对网络参数的配置
5\训练:
----------5.1,数据to Tensor + net.train()
----------5.2, 得到scores
----------5.3, 得到损失
----------5.4,反向传播:optimizer.zero_grad(),loss.backward(),optimizer.step()
----------5.5, 计算损失+精确度
6\测试:
----------6.1,数据to Tensor + net.eval()
----------6.2, 得到scores
----------6.3, 得到损失
----------6.4, 计算损失+精确度
7\保存训练好的参数或者模型
小结:
1、读取数据
2、添加模型
3、loss函数配置
4、优化器配置 对网络参数的配置(如权重初始化,凯明方法等)
5、训练+测试(单GPU或者多GPU)
1011

被折叠的 条评论
为什么被折叠?



