lambda filename:tf.data.TextLineDataset(filename).skip(1),

来源:4-4 tf.io.decode_csv使用

慕标2137209

2020-06-10

老师您好,请问:在6分30秒处,
lambda filename:tf.data.TextLineDataset(filename),
的情况下,显示出五行 header,和10行数据,

但是为什么 lambda filename:tf.data.TextLineDataset(filename).skip(1),
只需要 skip(1),而不是 skip(5),就把前五行 header 都省略了?

谢谢您!

写回答

2回答

正十七

2020-06-10

同学你好,因为n_readers=5, 所以是5个文件的分别的第一行,而不是前5行。这里面是一个并行化的操作。

0
1
慕标2137209
非常感谢!
2021-03-03
共1条回复

weixin_宝慕林8180759

2021-02-13

先理解好cycle_length和block_length的含义,我的理解是:cycle_length是一次读入多少个文件,block_length是每个文件读取几行,

视频中定义cycle_length为5,所以一次读入5个文件

block_length没有定义,默认是1,所以每个文件读取1行

而由于每个文件开头都是列名,所以一开始输出的5个列名


我觉得还可以试试别的cycle_length和block_length验证一下

比如:

cycyle_length = 6 block_length = 1 

输出为:六个列名 后面是数据

cycyle_length = 5 block_length = 2

输出为:先列名,再一行数据,这个循环5次,然后后面就全都是数据了

0
0

Google老师亲授 TensorFlow2.0 入门到进阶

Tensorflow2.0实战—以实战促理论的方式学习深度学习

1849 学习 · 896 问题

查看课程