小编El *_*one的帖子

为什么大批量需要更长的时间才能运行?

我正在 MNIST 上训练自动编码器,并注意到在 128 之后增加批量大小,开始在固定数据集大小上花费更多的计算时间。

我正在使用tensorflow-gpu并拥有GeForce GTX 1070。

我尝试在 5000 个样本(784 个暗淡)的固定训练集上运行一些测试,并运行 10 个 epoch。批次是batch-size来自 5000 个训练样本的连续块,因此迭代次数实际上取决于批次大小。

我跟踪了该数据的性能(丢失)、执行时间和 python 进程的 GPU 内存使用情况(来自 nvidia-smi 输出):

5000 datapoints 10 epochs

batch size
512:       loss: 53.7472; execution took 00:00:13,787; 4281MiB
256:       loss: 48.1941; execution took 00:00:04,973; 695MiB
128:       loss: 42.7486; execution took 00:00:03,350; 439MiB
64:        loss: 40.0781; execution took 00:00:04,191; 439MiB
32:        loss: 37.7348; execution took 00:00:06,487; 441MiB
16:        loss: 36.6291; execution took 00:00:12,102; 441MiB
8:         loss: nan;     execution took 00:00:23,115; …
Run Code Online (Sandbox Code Playgroud)

gpu mnist tensorflow batchsize

6
推荐指数
1
解决办法
2807
查看次数

标签 统计

batchsize ×1

gpu ×1

mnist ×1

tensorflow ×1