【发布时间】:2020-10-22 09:09:04
【问题描述】:
我正在阅读使用 Pytorch 实现 YOLOv3 的代码,并带有这样的一行:
for batch_i, (_, imgs, targets) in enumerate(dataloader):
batches_done = len(dataloader) * epoch + batch_i
imgs = Variable(imgs.to(device)) # ??
targets = Variable(targets.to(device), requires_grad=False)
imgs 是输入数据,我不明白为什么会退出转换:Variable(imgs.to(device)))
这是否意味着应该训练输入数据(因为默认选项是 requires_grad=true)还是还有其他原因?
【问题讨论】:
-
是的,这段代码没有意义
-
谢谢你们!但我现在明白了这段代码的意义。此代码正在尝试将输入数据类型转换为 GPU 的“cuda”类型。由于我使用的权重是torch.cuda.FloatTensor,并且输入数据类型应该保持不变。