# ImgClassification **Repository Path**: ray7jq/ImgClassification ## Basic Information - **Project Name**: ImgClassification - **Description**: 使用ResNet的图片分类 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-05-28 - **Last Updated**: 2023-06-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 文件夹解释 ``` - pth 存放onnx和pth权重文件 - data 训练数据集文件夹 - test 测试数据集文件夹 train.py 训练 model.py 模型 dataset.py 数据集加载处理 2onnx.py pth转onxx模型 testonnx.py 测试模型 tools.py 工具文件(包含一些数据集处理的函数) qt.py 可视化快速分类图片 ``` ## 数据集格式 ``` 文件夹路径例子:-dataset --class1 ---img1 ---img2 --class2 ---img1 ---img2 ``` 图片分类模型的数据为图片,每类图片放在一个文件夹,文件名为类名 ## 训练参数解释 train.py - batch_size:每批训练的大小,将显卡跑满即可 - learning_rate:控制模型参数在每次迭代中更新的步长或速率 - num_epochs:训练代数 - transforms.Resize 训练图片尺寸 - transforms.Normalize 图片保准化 - train_path:训练集地址 - test_path:测试集地址 - shuffle=True:将图片打乱,不以加载的顺序训练 - classes:文件夹名,也是类别名,顺序与预测结果相同 - ResNetmode:选择resnet模型的大小可供选择50,101,152.数字越大模型越大,参数越多 - num_classes : 训练的类别数,与数据集保持一致 - pre : 是否加载预训练权重,在首次训练时打开,增量训练时关闭 - class_weights:类别在计算损失时候的权重,权重越大,类别占比越重 - pretrain : 预训练权重,用于增量训练等 ## 模型转换 2onnx.py - input_shape: 模型输入shape - ResNet50的参数应该与训练集保持一致 - pretrain:训练好的权重 - onnx_path:输出名字 ## 模型测试 testonnx.py