Python 缓冲区大小在Tensorflow数据集洗牌中起什么作用?

Python 缓冲区大小在Tensorflow数据集洗牌中起什么作用?,python,tensorflow,machine-learning,generative-adversarial-network,Python,Tensorflow,Machine Learning,Generative Adversarial Network,所以我一直在研究这段代码:并且几乎对它的功能有了一个好的想法。但是,我无法完全发现缓冲区大小变量的用途是什么。我怀疑它可能被用来创建一个大小为BUFFER\u size的数据库子集,然后从这个子集中获取批处理,但我看不出它的意义,也找不到人解释它 因此,如果有人能解释一下缓冲区大小的作用,我将不胜感激❤ 它用作tf.data.Dataset.shuffle中的buffer\u size参数。你看过报纸了吗 此数据集使用buffer\u size元素填充缓冲区,然后从该缓冲区中随机采样元素,用新元

所以我一直在研究这段代码:并且几乎对它的功能有了一个好的想法。但是,我无法完全发现缓冲区大小变量的用途是什么。我怀疑它可能被用来创建一个大小为BUFFER\u size的数据库子集,然后从这个子集中获取批处理,但我看不出它的意义,也找不到人解释它


因此,如果有人能解释一下缓冲区大小的作用,我将不胜感激❤

它用作
tf.data.Dataset.shuffle
中的
buffer\u size
参数。你看过报纸了吗

此数据集使用
buffer\u size
元素填充缓冲区,然后从该缓冲区中随机采样元素,用新元素替换所选元素。为了实现完美的洗牌,需要缓冲区大小大于或等于数据集的完整大小

例如,如果您的数据集包含10000个元素,但
buffer\u size
设置为1000,则shuffle最初将仅从缓冲区中的前1000个元素中选择一个随机元素。一旦选择一个元素,其在缓冲区中的空间将被下一个(即1001个)元素替换,从而保持1000个元素的缓冲区


在TensorFlow的文档中,
buffer\u size
在buffer\u size的大小之间定义了一个随机的第一个元素。选择此随机项后,下一个数字将跟随
buffer\u size

样本数=1000
缓冲区大小=100

在(0,100)之间随机选择一个
随机=37
样本为(37至137)