(1)数据集的划分

本文介绍了如何按比例划分数据集为train、val和test,并提供了基础转换代码,特别是详细讲解了将PNG图像转换为JPEG格式的过程,适用于深度学习和机器学习的数据预处理。
摘要由CSDN通过智能技术生成

1、数据集的划分

将数据集根据需要,按比例划分为train,val和test

生成后的文件夹,可以采用pytorch使用 torchvision.datasets.folder.ImageFolder(root='data/train')

直接读取

#--data_floder_orign
#  --class1
#     --001.jpg
#     --002.jpg  
#     --003.jpg  
#  --class2
#     --004.jpg
#     --005.jpg  
#     --006.jpg  
#  --class3
#     --007.jpg
#     --008.jpg  
#     --009.jpg 
#---------------------------------------------
#根据比例产生
# -data
#    --train
#      --class1
#         --001.jpg
#      --class2
#         --006.jpg 
#      --class3
#         --008.jpg
#    --val
#         --002.jpg 
#      --class2
#         --005.jpg
#      --class3
#         --009.jpg 
#    --test
#      --class1
#         --003.jpg
#      --class2
#         --004.jpg
#      --class3
#         --007.jpg
#######################################

2、基础转换代码的实现

# *_*coding: utf-8 *_*
#######################################
#函数功能
#对照原始文件,按比例复制生成train,val,test文件夹

#--data_floder_orign
#  --class1
#     --001.jpg
#     --002.jpg  
#     --003.jpg  
#  --class2
#     --004.jpg
#     --005.jpg  
#     --006.jpg  
#  --class3
#     --007.jpg
#     --008.jpg  
#     --009.jpg 
#---------------------------------------------
#根据比例产生
# -data
#    --train
#      --class1
#         --001.jpg
#      --class2
#         --006.jpg 
#      --class3
#         --008.jpg
#    --val
#         --002.jpg 
#      --class2
#         --005.jpg
#      --class3
#         --009.jpg 
#    --test
#      --class1
#         --003.jpg
#      --class2
#         --004.jpg
#      --class3
#         --007.jpg
#######################################


import os
import random
import shutil  #复制文件用到
import time

"""
    函数说明:获取指定文件夹下的目录文件的函数,陈20221011
    :param    dir_path: 目录的路径
    :return:  dir_list: 该目录下的文件夹名称,list类型
 """
def  get_dir(dir_path):
    dir_list = []
    for filename in sorted(os.listdir(dir_path)):
        #只判断目录的
        if os.path.isdir(os.path.join(dir_path,filename)):
            dir_list.append(filename)
    return dir_list

"""
    函数说明: 复制文件的函数
    :param    src_file: 原始文件
    :return:  dst_path: 目标目录
 """
def copy_file(src_file,dst_dir_path):                       # 复制函数
    if not os.path.isfile(src_file):
        print ("%s not exist!"%(src_file))
    else:
        fpath,fname=os.path.split(src_file)             # 分离文件名和路径
        if not os.path.exists(dst_dir_path):
            os.makedirs(dst_dir_path)                       # 创建路径
        shutil.copy(src_file, dst_dir_path + fname)          # 复制文件
        print ("copy %s -> %s"%(src_file, dst_dir_path + fname))


"""
    函数说明: 将指定文件列表中的所有文件拷贝到指定的文件夹下如果文件夹
             不存在则自动创建,陈20221011
    :param    dest_file_dir: 目标目录的路径
    :param    origin_file_dir: 原始待拷贝目录的路径
    :param    origion_file_list: 原始待拷贝文件的文件名,注意该列表不包含文件的路径
    :return:  
 """
def copy_File_To_Dest_directory(dest_file_dir, origin_file_dir, origion_f
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值