代码流程图:本章代码流程
这章是关于--make_dataset.py的
-------------------------------①------------------------------
step1:得到处理后的文件路径与名称
file_name = os.path.basename(jpeg_dir.rstrip("/"))
hdf5_file = os.path.join(data_dir, "%s_data.h5" % file_name)rstrip():删除 string 字符串末尾的指定字符(默认为空格)【Python rstrip()方法】
os.path.basename:返回path最后的文件名【python os.path模块常用方法详解】附录有该函数的解析
"%s_data.h5" % file_name:其实还可以用format:"{}_data.h5" .format(file_name)
with h5py.File(hdf5_file, "w") as hfw:
for dset_type in ["train", "test", "val"]:
遍历data文件夹下的三个子文件
list_img = [img for img in Path(jpeg_dir).glob('%s/*.jpg' % dset_type)]
list_img = [str(img) for img in list_img]
list_img.extend(list(Path(jpeg_dir).glob('%s/*.png' % dset_type)))
list_img = list(map(str, list_img))
list_img = np.array(list_img)
好吧,我不想分析这一段感觉作者写麻烦了。我自己写了一段,同样可以实现以上的功能。这段就是得到每一个子文件夹内文件的所有路径。
list_img = [os.path.join(jpeg_dir,dset_type,name) for name in os.listdir(os.path.join(jpeg_dir,dset_type))]
list_img = np.array(list_img)
np.array:将python的list数据类型转换成np.array类型。
-------------------------------②-------------