深度学习之Python基于yield迭代器批量处理数据
-
利用yield迭代器批量处理数据,可以降低一次性读取数据而造成的内存泄漏问题。
-
项目中各文件间的关系:
DeepLearning ->> ecg_data ->> train ->> 0_00000.jpg
->> test ->> 0_00000.jpg
->> get_txt.py
->> data_train.py -
图像命名定义:“_”前面的字符为类别数,"_"后面的字符为图像数。具体处理方法可见C++文件重命名自定义零的个数
【get_txt.py】基于Python程序,制作图像名与标签,存于txt文件:
import os
train_filespath = "./ecg_data/train"
test_filespath = "./ecg_data/test"
train_files = os.listdir(train_filespath)
test_files = os.listdir(test_filespath)
with open("train.txt", "w") as f:
for i, j in enumerate(train_files):
f.write(train_filespath + "/" + j + ";" + j[0] + "\n")
with open("test.txt", "w") as f:
for i, j in enumerate(test_files):
f.write(test_filespath + "/" + j + ";" + j[0] + "\n"