使用 for 循环

for image, label in train_loader:
    # 训练逻辑
  • 每次迭代都会返回一个批次的数据,其中每个样本由图像数据和相应的标签组成。
  • 可以直接使用imagelabel变量来访问每个样本的图像数据和标签。

使用 enumerate 函数: 

for batch_idx, (image, label) in enumerate(train_loader):
    # 训练逻辑
  • enumerate函数会在每次迭代时返回一个迭代次数(批次索引)batch_idx和从数据加载器返回的批次数据,即(image, label)元组。
  • 这种方式常用于需要同时迭代批次数据和其索引的情况,可以在训练过程中跟踪迭代次数。

综上所述,对于简单的图像和标签数据集,两种迭代方式并没有太大区别,你可以根据自己的喜好和习惯选择其中一种。如果不需要追踪迭代次数,直接使用 for 循环即可;如果需要追踪迭代次数,可以使用 enumerate 函数。 

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐