【从头搭建Alexnet】实现训练自己的数据集

这是一个付费专栏里的博客,如果你购买了这个专栏,说明你并不是一个只知道白嫖的人,希望你可以进一步和我交流讨论,我们共同进步


----“Talk is Cheap, Show me the {code.}”
----" 好吧~代码在最后"

训练一个分类网络,无非就这么几步:

简要版:

第一步:构建数据集datasets和数据加载器dataloader
第二步:构建网络结构
第三步:设定优化器、损失函数、以及一些超参数
第四步:进行模型训练{梯度清零、从dataloader中拿数据进行前向传播、计算loss、反向传播}和验证{梯度关闭、从dataloader中拿数据进行前向传播、计算loss}
第五步:模型保存
第六步:模型加载和测试

稍微详细版:

第一步:构建一个自己的数据集datasets,并且定义自己的数据加载器dataloader。
比较复杂的网络中我们可能需要定义自己的datasets(包括数据预处理、如何把数据和标签对应、重写getitem等等)
由于Alexnet 算是比较简单了,所以我们就直接使用大多数分类问题都使用的一种数据集格式:torchvision.datasets.ImageFolder格式,这个格式就是把同一个类别的图像放到一个文件夹里就ok,文件夹的名称就是文件夹中图像类别的名称。
然后我们直接使用 torch.utils.data.DataLoader来加载数据

猜你喜欢

转载自blog.csdn.net/vibration_xu/article/details/126390858