#|paddle.reader.shuffle()中buf_size的作用

paddle.reader.shuffle()中buf_size的单位是什么?Byte还是Word?
官网上给出的说法截图如下,并没说明buf_size的单位。
#|paddle.reader.shuffle()中buf_size的作用
文章图片

为了搞搞清楚,写了几行程序测试一下。
#|paddle.reader.shuffle()中buf_size的作用
文章图片

#|paddle.reader.shuffle()中buf_size的作用
文章图片

#|paddle.reader.shuffle()中buf_size的作用
文章图片

第一遍运行,数据顺序未乱。
#|paddle.reader.shuffle()中buf_size的作用
文章图片

顺序还是未乱。猜测buf_size=1表示缓冲区只能存下一行数据或者说是一条记录。一条一条读,顺序乱不了。
#|paddle.reader.shuffle()中buf_size的作用
文章图片

buf_size=2,每次可以缓冲2条记录,1、2行随机排列;3、4行随机排列;5、6行随机排列;7、8行随机排列,第9行固定不变。
再验证一次:
#|paddle.reader.shuffle()中buf_size的作用
文章图片

#|paddle.reader.shuffle()中buf_size的作用
文章图片

#|paddle.reader.shuffle()中buf_size的作用
文章图片

buf_size=3,一次可以缓冲3条:1、2、3行随机;4、5、6行随机;7、8、9行随机。
再验证一下:
#|paddle.reader.shuffle()中buf_size的作用
文章图片

差不多搞清楚了,直接buf_size=10,应该和buf_size=9效果相同,全部随机。
#|paddle.reader.shuffle()中buf_size的作用
文章图片

#|paddle.reader.shuffle()中buf_size的作用
文章图片

【#|paddle.reader.shuffle()中buf_size的作用】https://www.paddlepaddle.org.cn/documentation/docs/zh/api_cn/data/data_reader_cn/Reader_cn.html
提示:#|paddle.reader.shuffle()中buf_size的作用
文章图片

    推荐阅读