## 简介
基于torchision实现的pytorch图像分类功能。
## 近期更新
* 2022.11.05更新
- 新添加tensorrt c++的推理方案
* 2022.10.29更新,进行代码重构,基本的功能基本一致。
- 支持pytorch ddp的训练
- 支持c++ libtorch的模型推理
- 支持script脚本一键运行
- 添加日志模块
习惯之前版本的请看v1版本的代码:[V1版本](https://github.com/lxztju/pytorch_classification/tree/v1)。
主要功能:
利用pytorch实现图像分类,基于torchision可以扩展使用densenet,resnext,mobilenet,efficientnet,swin transformer等图像分类网络
如果有用欢迎star
## 实现功能
* 基础功能利用pytorch实现图像分类
* 包含带有warmup的cosine学习率调整
* warmup的step学习率优调整
* 多模型融合预测,加权与投票融合
* 利用flask + redis实现模型云端api部署(tag v1)
* c++ libtorch的模型部署
* 使用tta测试时增强进行预测(tag v1)
* 添加label smooth的pytorch实现(标签平滑)(tag v1)
* 添加使用cnn提取特征,并使用SVM,RF,MLP,KNN等分类器进行分类(tag v1)。
* 可视化特征层
## 运行环境
* python3.7
* pytorch 1.8.1
* torchvision 0.9.1
* opencv(libtorch cpp推理使用, 版本3.4.6)(可选)
* libtorch cpp推理使用(可选)
## 快速开始
### 数据集形式
数据集的组织形式,参考[sample_files/imgs/listfile.txt](https://github.com/lxztju/pytorch_classification/blob/master/sample_files/imgs/listfile.txt)
### 训练 测试
修改`run.sh`中的参数,直接运行run.sh即可运行
主要修改的参数:
```
OUTPUT_PATH 模型保存和log文件的路径
TRAIN_LIST 训练数据集的list文件
VAL_LIST 测试集合的list文件
model_name 默认是resnet50
lr 学习率
epochs 训练总的epoch
batch-size batch的大小
j dataloader的num_workers的大小
num_classes 类别数
```
### libtorch inference
代码存储在`cpp_inference`文件夹中。
1. 利用[cpp_inference/traced_model/trace_model.py](https://github.com/lxztju/pytorch_classification/blob/master/cpp_inference/traced_model/trace_model.py)将训练好的模型导出。
2. 编译所需的opencv和libtorch代码到`cpp_inference/third_party_library`
3. 编译
```
sh compile.sh
```
4. 可执行文件测试
```
./bin/imgCls imgpath
```
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
利用pytorch实现图像分类的一个完整的代码,训练,预测,TTA,模型融合,模型部署,cnn提取特征,svm或者随机森林等进行分类,模型蒸馏,一个完整的代码。 实现功能: 基础功能利用pytorch实现图像分类 包含带有warmup的cosine学习率调整 warmup的step学习率优调整 多模型融合预测,加权与投票融合 利用flask + redis实现模型云端api部署(tag v1) c++ libtorch的模型部署 使用tta测试时增强进行预测(tag v1) 添加label smooth的pytorch实现(标签平滑)(tag v1) 添加使用cnn提取特征,并使用SVM,RF,MLP,KNN等分类器进行分类(tag v1)。 可视化特征层。 转载:https://github.com/lxztju/pytorch_classification
资源推荐
资源详情
资源评论
收起资源包目录
pytorch_classification-master.zip (52个子文件)
pytorch_classification-master
tools
evaluation.py 5KB
train_val.py 6KB
predict.py 2KB
sample_files
imgs
dog
2.jpg 15KB
1.jpg 26KB
5.jpg 39KB
0.jpg 34KB
3.jpg 30KB
4.jpg 106KB
cat
2.jpg 26KB
1.jpg 16KB
5.jpg 6KB
0.jpg 12KB
3.jpg 37KB
4.jpg 20KB
listfile.txt 804B
cpp_inference
traced_model
trace_model.py 711B
compile.sh 103B
CMakeLists.txt 875B
.vscode
settings.json 1KB
classification
include
ImgCls.hpp 700B
CMakeLists.txt 769B
src
ImgCls.cpp 2KB
test_ImgCls.cpp 511B
LICENSE 1KB
utils
__init__.py 155B
util.py 2KB
loss_kd.py 621B
lr_scheduler.py 3KB
warmup_lr.py 4KB
label_smoothing_pytorch.py 1KB
opts.py 3KB
dataset
__init__.py 90B
cls_dataset.py 1KB
transform.py 2KB
visualization
test.png 143KB
f1_conv1.png 1.51MB
Feature_Visualization.py 3KB
Feature_Visualization.ipynb 1.73MB
trt_inference
include
TrtCls.hpp 4KB
CMakeLists.txt 1KB
src
TrtCls.cpp 8KB
convert_onnx.py 2KB
labels.txt 12B
cls_models
__init__.py 27B
model.py 3KB
ensamble
kaggle_vote.py 2KB
samples
method_3.csv 83KB
method_2.csv 83KB
method_1.csv 83KB
run.sh 1KB
README.md 2KB
共 52 条
- 1
资源评论
水云翳
- 粉丝: 2
- 资源: 16
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功