将单个训练数据集文件拆分为:image文件和label文件(pytorch学习+蚂蚁蜜蜂数据集)

这篇具有很好参考价值的文章主要介绍了将单个训练数据集文件拆分为:image文件和label文件(pytorch学习+蚂蚁蜜蜂数据集)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

蚂蚁蜜蜂分类数据集下载链接:https://download.pytorch.org/tutorial/hymenoptera_data.zip

要实现如图操作:

  • 将ants分为ants_image和ants_label

  • 将bees分成bees_image和bees_label
    将单个训练数据集文件拆分为:image文件和label文件(pytorch学习+蚂蚁蜜蜂数据集),pytorch学习,pytorch,学习,人工智能

  • 创建ants_label和bees_label,并且以图片名作为txt文件的名称,将标签写入到txt文件中
    将单个训练数据集文件拆分为:image文件和label文件(pytorch学习+蚂蚁蜜蜂数据集),pytorch学习,pytorch,学习,人工智能
    将单个训练数据集文件拆分为:image文件和label文件(pytorch学习+蚂蚁蜜蜂数据集),pytorch学习,pytorch,学习,人工智能

  • 将标签写入到txt文件中
    将单个训练数据集文件拆分为:image文件和label文件(pytorch学习+蚂蚁蜜蜂数据集),pytorch学习,pytorch,学习,人工智能


1、创建python文件,与数据集dataset同一路径下
将单个训练数据集文件拆分为:image文件和label文件(pytorch学习+蚂蚁蜜蜂数据集),pytorch学习,pytorch,学习,人工智能
2、对divide_data.py进行编辑

import os

root_dir = "dataset/train"

# 原训练集的标签
label1 = "ants"
label2 = "bees"

# 训练文件夹下的原始文件夹ants和bees
original_dir1 = os.path.join(root_dir, "ants")
original_dir2 = os.path.join(root_dir, "bees")

# 将原始文件夹名称分别改为ants_image和bees_image
target_dir1 = os.path.join(root_dir, "ants_image")
target_dir2 = os.path.join(root_dir, "bees_image")

# 获取标签并创建的标签文件夹ants_label和bees_label
target_label_dir1 = os.path.join(root_dir, "ants_label")
target_label_dir2 = os.path.join(root_dir, "bees_label")

"""
    判断是否存在文件夹:
    1、如果存在ants和bees,就将它们改为ants_image和bees_image
    2、判断是否存在ants_label和bees_label,如果不存在就创建文件夹
"""
if os.path.exists(target_dir1):
    print(f'{target_dir1}已存在')

else:
    if os.path.exists(original_dir1):
        os.rename(original_dir1, target_dir1)
        print(f'{original_dir1}已修改为{target_dir1}')

if os.path.exists(target_dir2):
    print(f'{target_dir2}已存在')
else:
    if os.path.exists(original_dir2):
        os.rename(original_dir2, target_dir2)
        print(f'{original_dir1}已修改为{target_dir1}')

if os.path.exists(target_label_dir1):
    print(f'{target_label_dir1}已存在')
else:
    os.mkdir(target_label_dir1)
    print(f'已成功创建{target_label_dir1}')

if os.path.exists(target_label_dir2):
    print(f'{target_label_dir2}已存在')
else:
    os.mkdir(target_label_dir2)
    print(f'已成功创建{target_label_dir2}')



"""
    将图片的label保存在以图片名命名的txt文件中:
    1、获取ants_image和bees_image中的图片名
    2、以每张图片名来命名txt文件,将其保存在ants_label和bees_label中
"""
img_path1 = os.listdir(target_dir1)
img_path2 = os.listdir(target_dir2)

def write_txt(img_path, target_label_dir, label):
    for name in img_path:
        file_name = name.split('.jpg')[0]
        with open(os.path.join(target_label_dir, "{}.txt").format(file_name), 'w') as f:
            f.write(label)
    print(f'已成功写入{target_label_dir}')


write_txt(img_path1, target_label_dir1, label1)
write_txt(img_path2, target_label_dir2, label2)

3、运行py文件python divide_data.py
将单个训练数据集文件拆分为:image文件和label文件(pytorch学习+蚂蚁蜜蜂数据集),pytorch学习,pytorch,学习,人工智能文章来源地址https://www.toymoban.com/news/detail-654068.html

到了这里,关于将单个训练数据集文件拆分为:image文件和label文件(pytorch学习+蚂蚁蜜蜂数据集)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 1、pytorch分布式数据训练结合学习率周期及混合精度

    正如标题所写,我们正常的普通训练都是单机单卡或单机多卡。而往往一个高精度的模型需要训练时间很长,所以DDP分布式数据并行和混合精度可以加速模型训练。混精可以增大batch size. 如下提供示例代码,经过官网查阅验证的。原始代码由百度文心一言提供。 问题:pytor

    2024年02月07日
    浏览(37)
  • 安利一个开源的好工具Label Studio, 闭环数据标注和模型训练

    1.1 在NLP日常工作中,我们需要按几个步骤进行数据处理和模型训练。 1. 先收集数据: 通过爬虫或者其它工具,将数据结构化保存到数据库中。 2. 数据预处理: 其中大部分都是无标签数据,对于无标签数据的可以用无监督做预训练模型,也可以用经过整理后进行标注变成有

    2024年02月11日
    浏览(42)
  • Pytorch使用torch.utils.data.random_split拆分数据集,拆分后的数据集状况

    对于这个API,我最开始的预想是从 \\\'猫1猫2猫3猫4狗1狗2狗3狗4\\\' 中分割出 \\\'猫1猫2狗4狗1\\\' 和 \\\'猫4猫3狗2狗3\\\' ,但是打印结果和我预想的不一样 数据集文件的存放路径如下图 测试代码如下 输出如下 可以看到总共25000张图片的数据集,分割后并不是cats_num:10000,dogs_num:10000,cats_num2:2500,do

    2024年02月08日
    浏览(39)
  • 人工智能学习07--pytorch23--目标检测:Deformable-DETR训练自己的数据集

    1、pytorch conda create -n deformable_detr python=3.9 pip 2、激活环境 conda activate deformable_detr 3、torch 4、其他的库 pip install -r requirements.txt 5、编译CUDA cd ./models/ops sh ./make.sh #unit test (should see all checking is True) python test.py (我没运行这一步) 主要是MultiScaleDeformableAttention包,如果中途换了

    2024年02月14日
    浏览(131)
  • 解决YOLOv5训练自己的数据集出现No labels in path\train.cache问题

    不知道是第几次训练了,最开始跑也出现了这个问题,当时怎么解决的时隔了几个月又完全忘了,还好翻看了几个博客后回忆了起来 我自己的数据集的格式是VOC格式,如下图  若没有对数据集进行划分,则使用makeTXT.py对数据集进行划分,若数据集已经划分,则可忽略这一步

    2024年02月12日
    浏览(52)
  • 机器学习笔记 - PyTorch Image Models图像模型概览 (timm)

            PyTorch Image Models (timm)是一个用于最先进的图像分类的库,包含图像模型、优化器、调度器、增强等的集合;是比较热门的论文及代码库。         虽然越来越多的低代码和无代码解决方案可以轻松开始将深度学习应用于计算机视觉问题,但我们经常与希望寻求

    2024年02月12日
    浏览(33)
  • Pytorch学习笔记(模型训练)

    在同一个包下创建 train.py 和 model.py ,按照步骤先从数据处理,模型架构搭建,训练测试,统计损失,如下面代码所示 train.py model.py 运行 train.py 后可以通过启动tensorboard进行查看我们的loss情况,损失是不断下降的。 补充 argmax 函数的使用 我们模型预测处理的是概率,我们需

    2024年02月07日
    浏览(44)
  • 【分布式训练】基于Pytorch的分布式数据并行训练

    简介: 在PyTorch中使用DistributedDataParallel进行多GPU分布式模型训练 加速神经网络训练的最简单方法是使用GPU,它在神经网络中常见的计算类型(矩阵乘法和加法)上提供了比CPU更大的加速。随着模型或数据集变得越来越大,一个GPU很快就会变得不足。例如,像BERT和GPT-2这样的

    2024年02月17日
    浏览(49)
  • PyTorch深度学习实战(1)——神经网络与模型训练过程详解

    人工神经网络 ( Artificial Neural Network , ANN ) 是一种监督学习算法,其灵感来自人类大脑的运作方式。类似于人脑中神经元连接和激活的方式,神经网络接受输入,通过某些函数在网络中进行传递,导致某些后续神经元被激活,从而产生输出。函数越复杂,网络对于输入的数据拟

    2024年02月06日
    浏览(47)
  • PyTorch Lightning快速学习教程一:快速训练一个基础模型

    粉丝量突破1200了!找到了喜欢的岗位,毕业上班刚好也有20天,为了督促自己终身学习的态度,继续开始坚持写写博客,沉淀并总结知识! 介绍:PyTorch Lightning是针对科研人员、机器学习开发者专门设计的,能够快速复用代码的一个工具,避免了因为每次都编写相似的代码而

    2024年02月16日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包