欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Fluid如何在输入层定义batch_size大小?

程序员文章站 2022-06-13 10:02:38
...
  • 问题描述:我想尝试不同的batch_size大小,以观察不同batch_size大小对模型本身的影响

  • 相关代码:

x = fluid.layers.data(name='x', shape=[13], dtype='float32')
y_predict = fluid.layers.fc(input=x, size=1, act=None)
y = fluid.layers.data(name='y', shape=[1], dtype='float32')
cost = fluid.layers.square_error_cost(input=y_predict, label=y)
  • 问题分析:

在Fluid版的Paddle中通常使用paddle.batch()方法来设置输入数据的大小,但并不一定要显示的定义在输入层,因为Fluid版的paddle会自动更加你输入数据的batch_size大小自动定义输入层batch_size的大小,保证输入数据与输入层batch_size始终是相同的。当然,如果想要显示调用也是完全可以的。例如:

固定batch size维度
image = fluid.layers.data(name="image", shape=[32, 784], append_batch_size=False)
  • 解决方法:

通常通过paddle.batch()定义输入batch_size大小的输入数据,Paddle的输入层,即fluid.layers.data()方法会自动将输入层的大小改成与paddle.batch()定义的batch_size相同的大小

trainer.train(
        reader=paddle.batch(
            paddle.reader.shuffle(uci_housing.train(), buf_size=500),
            batch_size=2),
        feeding=feeding,
        event_handler=event_handler,
        num_passes=30)