小批量训练集Batch_size生成器tf.train.slice_input_producer和tf.train.batch()函数的使用说明

本文详细介绍了在TensorFlow中如何使用slice_input_producer和batch函数创建小批量训练集。这两个函数用于控制数据加载的顺序、批次大小和迭代次数。文章强调了启动queue runners的重要性,以避免计算单元因等待空队列而阻塞。同时,还提供了相关参数的解释和代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、语法:tf.train.slice_input_producer(tensor_list, num_epochs=None, shuffle=True, seed=None, capacity=32, shared_name=None, name=None)

参数说明:

  • tensor_list:包含一系列tensor列表,列表中tensor的第一维度值必须相等,如多少张图像对应多少个标签。
  • num_epochs:可选参数,是一个整数值,代表迭代的次数。设为None表示无限次遍历tensor列表;设为数值N表示生成器只能遍历tensor列表N次。
  • shuffle:bool类型,是否打乱样本次序。如果设为True,样本在生成器中已被打乱,使用tf.train.batch函数即可;如果设为False,使用tf.train.batch函数即是按原顺序读取小批量数据集,使用tf.train.shuffle_batch函数即是告诉生成器打乱样本次序后再进行读取。
  • seed:可选的整数,生成随机种子,当shuffle=True时才有用。
  • capacity:设置tensor列表容量。
  • shared_name:可选参数。在不同的上下文管理器(Session)中可以通过这个名字共享生成的tensor。
  • name:可选,设置操作的名称。

 

语法:tf.train.batch(tensors,batch_size,num_threads=1,capacity=32,enqueue_many=False,shapes=None,
    dynamic_pad=False,allow_smaller_final_batch=False,shared_name=None,name=None)

参数说明:

  • tensors:一个列表或字典的tensor用来进行入队。
  • batch_size:设置每次从队列中获取的小批数量。
  • num_threads:控制
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值