2种和batch有关的函数解析

tf.train.shuffle_batch函数解析

tensor_list: The list of tensors to enqueue.
入队的张量列表

batch_size: The new batch size pulled from the queue.
表示进行一次批处理的tensors数量.

capacity: An integer. The maximum number of elements in the queue.
容量:一个整数,队列中的最大的元素数.
这个参数一定要比min_after_dequeue参数的值大,并且决定了我们可以进行预处理操作元素的最大值.
推荐其值为:
capacity=(min_after_dequeue+(num_threads+a small safety margin∗batchsize)

min_after_dequeue: Minimum number elements in the queue after a
dequeue(出列), used to ensure a level of mixing of elements.
当一次出列操作完成后,队列中元素的最小数量,往往用于定义元素的混合级别.

定义了随机取样的缓冲区大小,此参数越大表示更大级别的混合但是会导致启动更加缓慢,并且会占用更多的内存

tf.train.string_input_producer函数解析

tf.train.string_input_producer(
string_tensor,
num_epochs=None,
shuffle=True,
seed=None,
capacity=32,
shared_name=None,
name=None,
cancel_op=None
)
filename_queue = tf.train.string_input_producer(filename, shuffle=False, num_epochs=5)

string_input_producer会产生一个文件名队列
filename文件名,可以将多个文件名相加,或者是输入一个文件名,不限定是图片
如:filename = [‘A.jpg’, ‘B.jpg’, ‘C.jpg’]
shuffle是指在一个epoch内文件的顺序是否被打乱。
如果设置shuffle=True,那么在一个epoch内,数据的前后顺序就会被打乱
num_epochs
epoch。对于一个数据集来讲,运行一个epoch就是将这个数据集中的图片全部计算一遍。如一个数据集中有三张图片A.jpg、B.jpg、C.jpg,那么跑一个epoch就是指对A、B、C三张图片都计算了一遍。两个epoch就是指先对A、B、C各计算一遍,然后再全部计算一遍,也就是说每张图片都计算了两遍。

tf.train.shuffle_batch函数解析
十图详解TensorFlow数据读取机制(附代码)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值