Python 如何使用os.walk读取keras中的文本文件并转换为批处理数据集

Python 如何使用os.walk读取keras中的文本文件并转换为批处理数据集,python,tensorflow,keras,Python,Tensorflow,Keras,我有需要在keras和tensorflow中分析的文本文件。我使用os.walk读取文件路径并将其添加到列表中,然后尝试读取文本内容并使用keras和tensorflow对其进行批处理,如下所示 classes = [] labs={} read_files = [] labels = [] path = "./data" for root,folders,files in os.walk(path): itt = 0 for folder in folder

我有需要在keras和tensorflow中分析的文本文件。我使用os.walk读取文件路径并将其添加到列表中,然后尝试读取文本内容并使用keras和tensorflow对其进行批处理,如下所示

classes = []
labs={}
read_files = []
labels = []
path = "./data"
for root,folders,files in os.walk(path):
    itt = 0
    for folder in folders:
        labs[folder] = itt
        itt+=1
        classes.append(folder)
    for file in files:
        file = root+"/"+file
        file_class = file.split("/")[-2]
        labels.append(labs[file_class])
        read_files.append(root+"/"+file)


dataset = tf.data.TextLineDataset(read_files)
dataset = dataset.batch(batch_size)
print(next(dataset))
这些不是确切的代码,因为我正在处理几个文件,但一般来说,这就是我所做的,直到我得到错误

当我在最后一行上面运行代码时,会抛出一个错误

File "/home/kim/Desktop/programs/python/text_processing/prog/main.py", line 10, in <module>
    0.2,32)
File "/home/kim/Desktop/programs/python/text_processing/prog/text_process.py", line 44, in load_data
    print(next(train_set))
TypeError: 'BatchDataset' object is not an iterator
文件“/home/kim/Desktop/programs/python/text\u processing/prog/main.py”,第10行,在
0.2,32)
文件“/home/kim/Desktop/programs/python/text\u processing/prog/text\u process.py”,第44行,加载数据
打印(下一个(列车组))
TypeError:“BatchDataset”对象不是迭代器
我想知道为什么这个代码不能工作,我在conda中使用了
TF2.0.0
,如果您能帮我解决这个问题,我将不胜感激 或者甚至是关于更好的方法的建议,我仍然想知道如何将我的数据保存到验证和培训集

尝试以下方法:

print(next(iter(dataset)))