用自己的数据完成“分类”

深度学习框架用的是caffe;网络模型是CaffeNet(AlexNet的变形)。

1.准备数据

我用的是Fish4knowledge数据集,数据集内总共有27370张图片,23类,每一类的数量不等且差异大。将其按照5:1:1的比例分为训练集、验证集、测试集。(记住由于每类的数据不均衡,所以一定要随机分配)

  • 训练集:19550张图片
  • 验证集:3910张图片
  • 测试集:3910张图片

2.生成filelist的txt文件

接下来要生成三个文件列表,train.txt、val.txt、test.txt。文件中的每一行存放的是一张图片的文件名(包含相对路径)和类别号,中间用空格隔开。我的类别号从1开始,到23。
可以用python\matlab\shell,任意挑一种你熟练的语言遍历整个数据集,获取文件名列表以及每个文件的类别。

3.转换为lmdb格式

在深度学习的实际应用中,我们经常用到的原始数据是图片文件,如jpg,jpeg,png,tif等格式的,而且有可能图片的大小还不一致。因此我们可以调用caffe里的convert_imageset工具来将图片文件转换成caffe框架中能直接使用的db文件。create_lmdb.sh 且数据集中的图片大小根据情况统一成47*47。

#!/usr/bin/en sh
rm -rf img_lmdb_train
/home/zh/caffe/build/tools/convert_imageset --shuffle \    #  "\" 是另起一行的意思 
--resize_height=47 --resize_width=47 \
Image/train/ \
ImageSets/train.txt img_lmdb_train

rm -rf img_lmdb_val
/home/zh/caffe/build/tools/convert_imageset --shuffle \
--resize_height=47 --resize_width=47 \
Image/val/ \
ImageSets/val.txt img_lmdb_val

rm -rf img_lmdb_test
/home/zh/
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
要在自己的数据集上使用Swin Transformer完成图像分类,需要进行以下步骤: 1. 数据准备:将自己的图像数据集按类别进行分类,并划分为训练集和验证集。确保数据集的标签正确,并且每个类别的数量大致相等。 2. 模型选择:选择合适的Swin Transformer模型进行图像分类任务。可以根据自己的数据集大小和复杂度,选择适当的模型大小。在选择时,也可以考虑预训练模型,以便在有限的数据上进行微调。 3. 数据预处理:对图像数据进行预处理,例如缩放、裁剪、标准化等操作,以便与Swin Transformer的输入要求相匹配。 4. 模型训练:使用训练集对选择的Swin Transformer模型进行训练。根据需要调整学习率、批量大小等超参数,并使用合适的优化器进行优化。在训练过程中,可以使用一些技巧,如学习率衰减、数据增强等,以提高模型的性能。 5. 模型评估:使用验证集对训练得到的模型进行评估。计算模型的准确率、精确率、召回率等指标,以评估模型的性能。 6. 模型调优:根据评估结果,对模型进行调优。可以尝试调整超参数、网络结构或进行更多的数据增强等措施,以进一步提高模型的性能。 7. 模型推断:使用训练得到的最佳模型对新的图像进行分类。将待分类的图像输入到模型中,并获得预测结果。可以根据需求进行后处理,如概率阈值调整、多模型集成等。 总之,使用Swin Transformer在自己的数据集上完成图像分类需要进行数据准备、模型选择、数据预处理、模型训练、模型评估、模型调优和模型推断等步骤。通过逐步优化和调整,可以得到准确率较高的图像分类模型。
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值