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