PaddleClas模型训练/评估:数据准备
本文档介绍ImageNet1k和flowers102数据准备过程。
数据集 | 训练集大小 | 测试集大小 | 类别数 | 备注 |
---|---|---|---|---|
flowers102 | 1k | 6k | 102 | |
ImageNet1k | 1.2M | 50k | 1000 |
- 数据格式 按照如下结构组织数据,其中
train_list.txt
和val_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模型训练/评估:数据准备相关推荐
- PTMs:QLoRA技巧之源码解读(qlora.py文件)—解析命令与加载参数→数据预处理→模型训练+评估+推理
PTMs:QLoRA技巧之源码解读(qlora.py文件)-解析命令与加载参数→数据预处理→模型训练+评估+推理 目录 QLoRA技巧之源码解读(qlora.py文件)-解析命令与加载参数→数据预处理 ...
- 模型训练:数据预处理和预载入
相对于模型的训练而言,有时候数据的预处理和载入反而是一件更为耗时的工作. 为了优化模型的训练流程,有必要对训练的全流程做一个时间上的评测(Profiling),以弄清每一步所耗费的时间,并发现性能上的 ...
- 自监督学习的发展趋势:事半功倍的模型训练和数据效能
©作者 | 唐工 写在篇首 这些趋势之所以令人兴奋,是因为它们可以大大减少为某一特定任务使用机器学习所需的努力,也因为它们使得在更具代表性的数据上训练模型变得更加容易(尽管绝非微不足道),这些模型更好 ...
- 模型训练遇到数据量太大而导致内存不够问题?今天教你一招
在比赛和工作中,我们经常会遇到数据量太大而导致内存不够的问题.这里可以细分为两种情况: 情况1:数据太大,无法加载到内存: 情况2:加载数据但训练时内存不够: 针对情况1可以考虑使用Spark或者Da ...
- 模型训练评估——交叉验证法的介绍
与留出法相似,将数据集D划分为k个子集同样存在多种划分方式. 为减小因样本划分不同而引入的差别,k折交叉验证通常要随机使用不同的划分重复p次,最终的评估结果是这p次k折交叉验证结果的均值,例如常见的有 ...
- ML:模型训练/模型评估中常用的两种方法代码实现(留一法一次性切分训练和K折交叉验证训练)
ML:模型训练/模型评估中常用的两种方法代码实现(留一法一次性切分训练和K折交叉验证训练) 目录 模型训练评估中常用的两种方法代码实现 T1.留一法一次性切分训练 T2.K折交叉验证训 模型训练评估中 ...
- 复旦大学教授肖仰华:ChatGPT 浪潮下,面向大模型如何做数据治理?
嘉宾 | 肖仰华 编辑 | 伍杏玲 出品 | CSDN 由 ChatGPT 引起的大模型热潮正席卷当下.众所周知,大模型的建立离不开海量数据,且大模型的最终效果取决于数据的质量,数据越丰富.质量越高 ...
- 一文了解 AI 商品模型训练平台
AI平台的初衷永远是提高开发效率,加快算法迭代周期.通过产品化AI技术,让运营人员能够更贴近技术,更好地指导赋能业务场景,给客户带来更好的技术体验和产品体验. 本文是2020年的正式第一文,介绍了人工 ...
- 基于惯性传感器的上肢康复训练评估
基于惯性传感器的上肢康复训练评估 神经肌肉系统疾病患者,往往需要进行长期的康复训练恢复自由活动的能力或保持肌肉活性.在肢体康复训练中,临床医生给患者开一系列康复训练的处方,无论是在患者面前演示还是移动 ...
最新文章
- 使用idea 在springboot添加本地jar包的方法 部署的时候本地jar没有包含的解决方法
- 语音社交产品,安全合规“防坑指南”!
- 怎么查看linux文件夹下有多少个文件
- 复制url直接能跳过验证_python 爬虫如何突破登录验证
- gitlab git clone 卡住_IDEA中的Git操作你掌握了吗?此一篇,足矣!
- Flink Parallelism
- WinForm------TreeList修改节点图标和按钮样式
- Qt 设置窗体大小和背景颜色
- 剑灵火龙区服务器位置,剑灵双线火龙新区活动介绍
- Vue.js如何在一个页面调用另一个同级页面的方法
- 【maven】maven-scm-plugin 使用
- 那个 php5 集成包,品络php5环境集成安装包_品络php5环境集成安装包官方版下载 - 服务器区 - 绿软家园...
- Pymol入门教程--基础
- 救命稻草VirtualBox,失之交臂VMware—— 2者的guest OS对 恒通笔记本并口卡的支持
- KY-RTI分布仿真技术:第一章 简介
- A Survey on Knowledge Graph-Based Recommender
- 成都,离互联网第五极还有多远?
- 服务器终端性能测试之MBW内存测试
- PWM的周期和占空比是如何计算
- 账号密码登录(Account password authentication)