tf.train.batch和tf.train.shuffle_batch的理解
来源:互联网 发布:淘宝卖家如何改支付宝 编辑:程序博客网 时间:2024/06/02 06:05
capacity是队列的长度
min_after_dequeue是出队后,队列至少剩下min_after_dequeue个数据
假设现在有个test.tfrecord文件,里面按从小到大顺序存放整数0~100
1. tf.train.batch是按顺序读取数据,队列中的数据始终是一个有序的队列,
比如队列的capacity=20,开始队列内容为0,1,..,19=>读取10条记录后,队列剩下10,11,..,19,然后又补充10条变成=>10,11,...,29,
队头一直按顺序补充,队尾一直按顺序出队,到了第100条记录后,又重头开始补充0,1,2...
2. tf.train.shuffle_batch是将队列中数据打乱后,再读取出来,因此队列中剩下的数据也是乱序的,队头也是一直在补充(我猜也是按顺序补充),
比如batch_size=5,capacity=10,min_after_dequeue=5,
初始是有序的0,1,..,9(10条记录),
然后打乱8,2,6,4,3,7,9,2,0,1(10条记录),
队尾取出5条,剩下7,9,2,0,1(5条记录),
然后又按顺序补充进来,变成7,9,2,0,1,10,11,12,13,14(10条记录),
再打乱13,10,2,7,0,12...1(10条记录),
再出队...
capacity可以看成是局部数据的范围,读取的数据是基于这个范围的,
在这个范围内,min_after_dequeue越大,数据越乱
这样按batch读取的话,最后会自动在前面添加一个维度,比如数据的维度是[1],batch_size是10,那么读取出来的shape就是[10,1]
阅读全文
6 0
- tf.train.batch和tf.train.shuffle_batch的理解
- tf.train.batch和tf.train.shuffle_batch的用法
- tf.train.batch和tf.train.shuffle_batch的用法
- tf.train.batch()和tf.train.shuffle_batch()函数
- tf.train.shuffle_batch
- tf.train.shuffle_batch函数解析
- tf.train.batch()
- 遇到的问题与解决办法(tf.train.shuffle_batch与tf.train.slice_input_producer)
- tf.train
- 关于Tensorflow中的tf.train.batch函数
- tensorflow学习——tf.floor与tf.train.batch
- tf.train.exponential_decay的用法
- tf.train.ExponentialMovingAverage的用法
- tf.train.exponential_decay的用法
- Tensorflow:tf.train.SyncReplicasOptimizer
- tf.train.Saver
- tf.train.slice_input_produce命令
- tf.train.Saver
- ConcurrentHashmap使用
- 字符编码笔记:ASCII,Unicode和UTF-8
- 动态网页-6.28
- macamca app inspector 源码分析(一)
- List ,Set,Map集合与数组互转
- tf.train.batch和tf.train.shuffle_batch的理解
- Maven依赖范围及依赖传递
- 域间套接字socketpair
- Android源码编译
- hibernate框架基本的作用及用法【1】
- LeetCode 446. Arithmetic Slices II
- String、StringBuilder、StringBuffer
- php异步尝试
- MySQL杂项