# resnet图片分类 **Repository Path**: hwt2017/resnet-image-classification ## Basic Information - **Project Name**: resnet图片分类 - **Description**: resnet图片分类resnet图片分类resnet图片分类 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-04-08 - **Last Updated**: 2025-04-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Tensorflow-Resnet-Image-Classification 这是之前我和我的组员参与Tiny-mind 手写汉字识别大赛的一个项目, 主要实现了用Resnet或VGG16作为Backbone来训练一个分类任务以及基于opencv的一些图片数据集增强,最终我们组的成绩为TOP-5准确率99.19, 排名5/700。这个项目也可以用于其他的图片分类任务,整个网络框架是基于Tensorflow实现的 ## 数据集格式 训练数据集和测试数据集分别存放在data/train和data/test2文件夹下,数据集格式: ``` ├── data ├── train │ ├── 夏 │ ├── 001.jpg │ ├── 002.jpg | ├── 003.jpg │ ├── 武 │ ├── 004.jpg │ ├── 005.jpg | ├── 006.jpg │ ├── 陈 │ ├── 007.jpg │ ├── 008.jpg │ ├── 009.jpg ...... ├── test2 ``` 对于每一个类别,其文件夹名称就是类别名称
## 数据增强 ``` cd $PATH_ROOT python data_update.py ``` 进行训练数据增强的操作,主要包括图像的旋转,仿射变换,伽马变化,随机高斯噪声,运行完成后data文件夹下的图片目录会保存相应的增强数据图片。 ## 训练 ``` cd $PATH_ROOT python train.py ``` 进行网络的训练,在训练之前可以修改config.py文件对网络相应的配置进行修改,如训练步数,L2正则化系数,网络结构(Resnet50,Resnet101,Resnet152)进行修改。
summay文件夹下存放的是tensorboard的缓存 ## 测试 ``` cd $PATH_ROOT python test.py ``` 进行训练好的模型测试,在测试之前可以修改output_2文件夹下,修改checkpoint文件中model_checkpoint_path的值来指定测试不同步数下的模型。最终$PATH_ROOT下会生成一个data.txt文件和一个res_test.csv文件,data.txt文件存放的是每一张图片top5 类别的score, res_test.csv是赛事要求提交的csv文件。
关于测试可视化:
取消注释test.py文件中 ``` # print(name_label) //python # cv.imshow('sprint(image_datahow', test_image_single_1) # cv.waitKey(0) ``` 单张显示图片并打印top5的分数