directory_url = 'https://storage.googleapis.com/download.tensorflow.org/data/illiad/'
file_names = ['cowper.txt', 'derby.txt', 'butler.txt']
file_paths = [
tf.keras.utils.get_file(file_name, directory_url+file_name)
for file_name in file_names ]
# 将多个文件里面的文本读取到一个dataSet里面
dataset = tf.data.TextLineDataset(file_paths)
for line in dataset.take(5):
print(line.numpy())
如果输出是多个文件,我们希望得到的dataSet里面的行是交替的,即第一行的内容来自第一个文件,即第一行的内容来自第二个文件
则此时可以使用下面的方法
files_ds = tf.data.Dataset.from_tensor_slices(file_paths)
lines_ds = files_ds.interleave(tf.data.TextLineDataset, cycle_length=3)
for i, line in enumerate(lines_ds.take(9)):
if i%3==0:
print()
print(line.numpy())