TensorFlow Mini-batching

TensorFlow Mini-batching

要使用 mini-batching,你首先要把你的数据集分成 batches。

不幸的是,有时候不可能把数据完全分割成相同数量的 batch。例如有 1000 个数据点,你想每个 batch 有 128 个数据。但是1000 无法被 128 整除。你得到的结果是 7 batch,每个128个数据点,一个 batch 有 104个数据点。(7*128 + 1*104 = 1000)

batch里面的数据点数量会不同的情况下,你需要利用 TensorFlow 的tf.placeholder() 函数来接收这些不同的 batch。

继续上述例子,如果每个样本有n_input = 784特征,n_classes = 10个可能的标签,features的维度应该是[None, n_input]labels的维度是 [None, n_classes]

# Features and Labels
features = tf.placeholder(tf.float32, [None, n_input])
labels = tf.placeholder(tf.float32, [None, n_classes])

None在这里做什么用呢?

None 维度在这里是一个 batch size 的占位符。在运行时,TensorFlow 会接收任何大于 0 的 batch size。

回到之前的例子,这个设置可以让你把features 和 labels给到模型。无论 batch 中包含128,还是104个数据点。

问题二

下列参数,会有多少batch,最后一个batch有多少数据点?

features is (50000, 400)

labels is (50000, 10)

batch_size is 128

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ncst

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值