图像分类
组件介绍
“图像分类”(Image Classification) 控件主要用于训练图像分类模型。
图像分类模型根据各自在图像信息中所反映的不同特征,把不同类别的目标进行区分。
- 输入:
- img: 图像数据集
- 输出:
- dpmod:深度学习模型
“图像分类”(Image Classification) 控件读取ImageNet数据集,通过指定要训练的模型及相关的训练参数进行图像分类模型的训练。
训练集目录结构如下:
|- train
|- category1
|- category1_image1
|- category1_image2
|- ...
|- category2
|- category2_image1
|- category2_image2
|- ...
|- ...
|- val
|- category1
|- category1_val_image1
|- category1_val_image2
|- ...
|- category2
|- category2_val_image1
|- category2_val_image2
|- ...
|- ...
|- label_list.txt
|- train_list.txt
|- val_list.txt
其中label_list.txt用于记录标签信息,包括标签编号和标签名,label_list.txt内容示例如下:
0 pug
1 husky
train_list.txt用于记录训练集数据信息,包括图片目录及标签id,train_list.txt内容示例如下:
train/husky/1.png 1
train/husky/2.png 1
train/husky/3.png 1
train/pug/1.png 0
train/pug/2.png 0
train/pug/3.png 0
val_list.txt用于记录验证集数据信息,包括图片目录及标签id,val_list.txt内容示例如下:
val/husky/10.png 1
val/husky/11.png 1
val/husky/12.png 1
val/pug/10.png 0
val/pug/11.png 0
val/pug/12.png 0
测试集目录结构如下:
|- test
|- category1
|- category1_image1
|- category1_image2
|- ...
|- category2
|- category2_image1
|- category2_image2
|- ...
|- ...
|- test_list.txt
test_list.txt用于记录测试集数据信息,test_list.txt内容示例如下:
test/husky/1.png
test/husky/2.png
test/husky/3.png
test/pug/1.png
test/pug/2.png
test/pug/3.png
页面介绍
点击 “图像分类”(Image Classification) 控件查看参数配置页面,如下图所示:
参数选项
选项 | 说明 | 取值范围 | 样例值 | |
---|---|---|---|---|
模型名称 | 设置模型名称,用于在其他组件中区分不同的模型 | 非空字符串 | Image Classification | |
计算框架 | 选择模型训练采用的训练框架,控件支持如下计算框架: | PyTorch | PyTorch | |
模型选择 | PyTorch | 支持的用于图像分类的深度学习模型 | ResNet34 | ResNet34 |
Tensorflow | ResNet34 | ResNet34 | ||
训练参数 | 迭代轮数 | 训练迭代轮数(epoch) | 1~100000 | 10 |
学习率 | learning rate | 0.00000001~1 | 0.01 | |
批大小 | 一个epoch训练的样本大小 | 1~840 | 4 |
使用案例
在下图所示的案例中,使用 “图像”(Image) 控件加载数据集,连接 “图像分类”(Image Classification) 控件构建模型,再将 “图像分类”(Image Classification) 控件与 “训练日志”(Train Log) 控件连接起来查看模型的训练日志。
案例中加载狗狗分类数据集,案例中控件执行结果如下图所示: