【问题标题】:Understanding PyTorch training batches了解 PyTorch 训练批次
【发布时间】:2019-08-06 21:19:50
【问题描述】:

阅读 https://stanford.edu/~shervine/blog/pytorch-how-to-generate-data-parallelhttps://discuss.pytorch.org/t/how-does-enumerate-trainloader-0-work/14410 我试图了解训练时期在 PyTorch 中的表现。

采取这个外循环和内循环:

for epoch in range(num_epochs):
    for i1,i2 in enumerate(training_loader):

这是正确的解释吗?

对于外部循环/epoch 的每次调用,整个训练集,在上面的示例中,training_loader 是每批次迭代的。这意味着模型不会在每个训练周期处理一个实例。每个训练周期 (for epoch in range(num_epochs):) 整个训练集都以块/批次的形式处理,其中批次大小在创建 training_loader 时确定。

【问题讨论】:

  • 是的!你是对的

标签: pytorch


【解决方案1】:

torch.utils.data.DataLoader 返回一个迭代数据集的可迭代对象。

因此,以下 -

training_loader = torch.utils.data.DataLoader(*args)
for i1,i2 in enumerate(training_loader):

  #process

在数据集上完全分批运行一个。

【讨论】:

    猜你喜欢
    • 2019-07-15
    • 2022-07-05
    • 2022-01-21
    • 1970-01-01
    • 2018-10-13
    • 1970-01-01
    • 2020-06-25
    • 2018-08-05
    • 2019-12-29
    相关资源
    最近更新 更多