我正在设置limit_val_batches=10和val_check_interval=1000,以便每1000个培训步骤对10个验证批进行验证。是否保证每次调用验证时,培训师都会使用相同的10批?
我试图搜索limit_val_batches的源代码,但无法弄清楚它是如何用于获得验证批的。
发布于 2021-08-08 21:49:37
答案与PyTorch闪电及其标志(--limit_val_batches和--val_check_interval)没有多大关系。闪电所提供的数据的确切批次
def *_step(self, batch, ...):
...方法(*是培训/验证/测试)由
def *_dataloder(...):
return DataLoader(dataset, shuffle=..., sampler=..., batch_sampler=...)如果这些函数返回的数据器没有shuffle=True或任何随机的Sampler,则批将是相同的。
就--limit_val_batches=N而言,它首先从底层数据中心获取N批处理。闪电本身不进行任何数据选择。它得到了核心开发人员这里的确认。
https://stackoverflow.com/questions/68658917
复制相似问题