码迷,mamicode.com
首页 > 其他好文 > 详细

代码训练3,图像分类 模型代码

时间:2021-06-18 18:50:14      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:超过   alt   优化   优化器   是什么   img   权重   运行   自己   

图像分类train.py代码总结

?前两天,熟悉了图像分类的训练代码,发现,不同网络,只是在网络结构上不同。而训练部分的代码,都是由设备选择、数据转换,路径确定、数据导入、JSON文件生成、损失函数选择、优化器选择、模型带入和训练集数据和测试集数据训练固定几部分组成的。
?其中的模型是根据自己选择的不同模型带入的。经典的分类模型有Alexnet、VGG、GoogLeNet、ResNet、ResNeXt、MobileNet、MobileNet v2、MobileNet v3、ShuffleNet、EfficientNet、EfficientNet V2这几种详细的每种都是什么结构,在之前都有熟悉。
?随着网络结构的越来越复杂,到了ShuffleNet的时候,就将参数用argparse.ArgumentParser()提取出来,并且从resnet开始将权重存到.pth文件中model_weight_path = "./resnet34-pre.pth"进行预训练。下面主要看一下EfficientNet网络中的训练框架。

EfficientNet训练脚本

?在目前分类当中,EfficientNet网络的准确率是很高的,在我运行的过程中发现,一般准确率在0.9以上,但很难超过0.95。效果如下图所示。
技术图片
?我们首先来看一下它的训练代码,然后,在分析模型结构,存在的问题。

1. argparse.ArgumentParser

?argparse是python用于解析命令行参数和选项的标准模块,用于代替已经过时的optparse模块。argparse模块的作用是用于解析命令行参数。
?我们很多时候,需要用到解析命令行参数的程序,目的是在终端窗口(ubuntu是终端窗口,windows是命令行窗口)输入训练的参数和选项。
?我们常常可以把argparse的使用简化成下面四个步骤:
1:import argparse 首先导入该模块
2:parser = argparse.ArgumentParser()创建一个解析对象
3:parser.add_argument()添加你要关注的命令行参数和选项,每一个add_argument方法对应一个你要关注的参数或选项
4:parser.parse_args()用parse_args() 进行解析,解析成功之后即可使用

代码训练3,图像分类 模型代码

标签:超过   alt   优化   优化器   是什么   img   权重   运行   自己   

原文地址:https://www.cnblogs.com/xmy-0904-lfx/p/14893884.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!