本文档介绍ImageNet1k和flowers102数据准备过程。

数据集 训练集大小 测试集大小 类别数 备注
flowers102 1k 6k 102  
ImageNet1k 1.2M 50k 1000
  • 数据格式 按照如下结构组织数据,其中train_list.txtval_list.txt的格式形如:
# 每一行采用"空格"分隔图像路径与标注# 下面是train_list.txt中的格式样例
train/n01440764/n01440764_10026.JPEG 0
...# 下面是val_list.txt中的格式样例
val/ILSVRC2012_val_00000001.JPEG 65
...

Python

########################################################################################################################
# Linux/OS X 系统下声明这是一个 Python 可执行程序; Windows 系统会忽略这个注释.
# !/usr/bin/env python
# 指定 Python 解释器按照 UTF-8 编码读取源代码, 否则源代码中的中文输出时可能会乱码.
# -*- coding: utf-8 -*-########################################################################################################################
# 加入“绝对引入”新特性:
# 这样就可用import string引入系统标准string.py, 而用from pkg import string来引入当前目录下的string.py.
from __future__ import absolute_import, division, print_function, unicode_literals########################################################################################################################
# 加载相关类库
import os
import sys
import scipy.io
import numpy as np########################################################################################################################
# .mat文件数据格式
# imagelabel.mat
# jpg_name   1     2     3 ...
# label      32    12    66 ...
#
# setid.mat
# jpg_name(10 records in a class)  24 6 100 65 32 ...
# label                            4 ...########################################################################################################################
# 自定义生成函数
def generate(file_name, dict_name):image_path = 'jpg'  # jpg 文件夹名称imagelabels_path = './imagelabels.mat'imagelabels_data = scipy.io.loadmat(imagelabels_path)labels = np.array(imagelabels_data['labels'][0])setid_path = './setid.mat'setid_data = scipy.io.loadmat(setid_path)# 设置字典lv_dict = {'train': np.array(setid_data['trnid'][0]),'valid': np.array(setid_data['valid'][0]),'test': np.array(setid_data['tstid'][0])}# 写入文件with open("%s.txt" % file_name, "w") as file:# 遍历for lv_id in lv_dict[dict_name]:message = str(image_path) + "/image_" + str(lv_id).zfill(5) + ".jpg " + str(labels[lv_id - 1] - 1)# print(message)file.write(message + '\n')# 提示信息print(f"{file_name}.txt generate complete!")########################################################################################################################
# 自调用: 每个模块都有一个__name__属性, 当其值是'__main__'时, 表明该模块自身在运行, 否则是被引入.
if __name__ == '__main__':# 训练集generate('train_list', 'train')# 验证集generate('val_list', 'valid')# 测试集generate('test_list', 'test')

PaddleClas模型训练/评估:数据准备相关推荐

  1. PTMs:QLoRA技巧之源码解读(qlora.py文件)—解析命令与加载参数→数据预处理→模型训练+评估+推理

    PTMs:QLoRA技巧之源码解读(qlora.py文件)-解析命令与加载参数→数据预处理→模型训练+评估+推理 目录 QLoRA技巧之源码解读(qlora.py文件)-解析命令与加载参数→数据预处理 ...

  2. 模型训练:数据预处理和预载入

    相对于模型的训练而言,有时候数据的预处理和载入反而是一件更为耗时的工作. 为了优化模型的训练流程,有必要对训练的全流程做一个时间上的评测(Profiling),以弄清每一步所耗费的时间,并发现性能上的 ...

  3. 自监督学习的发展趋势:事半功倍的模型训练和数据效能

    ©作者 | 唐工 写在篇首 这些趋势之所以令人兴奋,是因为它们可以大大减少为某一特定任务使用机器学习所需的努力,也因为它们使得在更具代表性的数据上训练模型变得更加容易(尽管绝非微不足道),这些模型更好 ...

  4. 模型训练遇到数据量太大而导致内存不够问题?今天教你一招

    在比赛和工作中,我们经常会遇到数据量太大而导致内存不够的问题.这里可以细分为两种情况: 情况1:数据太大,无法加载到内存: 情况2:加载数据但训练时内存不够: 针对情况1可以考虑使用Spark或者Da ...

  5. 模型训练评估——交叉验证法的介绍

    与留出法相似,将数据集D划分为k个子集同样存在多种划分方式. 为减小因样本划分不同而引入的差别,k折交叉验证通常要随机使用不同的划分重复p次,最终的评估结果是这p次k折交叉验证结果的均值,例如常见的有 ...

  6. ML:模型训练/模型评估中常用的两种方法代码实现(留一法一次性切分训练和K折交叉验证训练)

    ML:模型训练/模型评估中常用的两种方法代码实现(留一法一次性切分训练和K折交叉验证训练) 目录 模型训练评估中常用的两种方法代码实现 T1.留一法一次性切分训练 T2.K折交叉验证训 模型训练评估中 ...

  7. 复旦大学教授肖仰华:ChatGPT 浪潮下,面向大模型如何做数据治理?

    嘉宾 | 肖仰华 编辑  | 伍杏玲 出品 | CSDN 由 ChatGPT 引起的大模型热潮正席卷当下.众所周知,大模型的建立离不开海量数据,且大模型的最终效果取决于数据的质量,数据越丰富.质量越高 ...

  8. 一文了解 AI 商品模型训练平台

    AI平台的初衷永远是提高开发效率,加快算法迭代周期.通过产品化AI技术,让运营人员能够更贴近技术,更好地指导赋能业务场景,给客户带来更好的技术体验和产品体验. 本文是2020年的正式第一文,介绍了人工 ...

  9. 基于惯性传感器的上肢康复训练评估

    基于惯性传感器的上肢康复训练评估 神经肌肉系统疾病患者,往往需要进行长期的康复训练恢复自由活动的能力或保持肌肉活性.在肢体康复训练中,临床医生给患者开一系列康复训练的处方,无论是在患者面前演示还是移动 ...

最新文章

  1. 使用idea 在springboot添加本地jar包的方法 部署的时候本地jar没有包含的解决方法
  2. 语音社交产品,安全合规“防坑指南”!
  3. 怎么查看linux文件夹下有多少个文件
  4. 复制url直接能跳过验证_python 爬虫如何突破登录验证
  5. gitlab git clone 卡住_IDEA中的Git操作你掌握了吗?此一篇,足矣!
  6. Flink Parallelism
  7. WinForm------TreeList修改节点图标和按钮样式
  8. Qt 设置窗体大小和背景颜色
  9. 剑灵火龙区服务器位置,剑灵双线火龙新区活动介绍
  10. Vue.js如何在一个页面调用另一个同级页面的方法
  11. 【maven】maven-scm-plugin 使用
  12. 那个 php5 集成包,品络php5环境集成安装包_品络php5环境集成安装包官方版下载 - 服务器区 - 绿软家园...
  13. Pymol入门教程--基础
  14. 救命稻草VirtualBox,失之交臂VMware—— 2者的guest OS对 恒通笔记本并口卡的支持
  15. KY-RTI分布仿真技术:第一章 简介
  16. A Survey on Knowledge Graph-Based Recommender
  17. 成都,离互联网第五极还有多远?
  18. 服务器终端性能测试之MBW内存测试
  19. PWM的周期和占空比是如何计算
  20. 账号密码登录(Account password authentication)

热门文章

  1. C++ explicit禁止单参构造函数隐式调用
  2. 行为型设计模式(2)—— 模板方法模式(Template Method Pattern)
  3. HDU 1561 The more, The Better (树形dp)
  4. iOS 10 推送的简单使用
  5. 如何解决代码嵌套太深问题
  6. Hadoop介绍及最新稳定版Hadoop 2.4.1下载地址及单节点安装
  7. 指针(Pointer)
  8. 【安装配置】克隆方式安装Oracle数据库软件
  9. linux之rpm命令
  10. 在线2-36进制转文本工具