深度学习常说的train、test、eval都代表什么

  1. Train:模型训练是指使用训练数据对模型进行调整,使其可以从数据中学到有价值的模式。在训练过程中,模型接收输入数据,计算它的预测,并与真实数据进行比较,以评估其准确性。然后,根据其误差,通过一个优化算法更新模型的参数,以提高其准确性。这个过程会不断重复,直到训练数据上的误差达到一个可接受的阈值为止。

  2. Test:测试是指使用独立的数据集评估模型的准确性。这些数据是模型在训练中没有见过的,因此用于评估模型的泛化能力。测试数据的输入被用来生成预测,并与真实数据进行比较,以评估模型的准确性。

  3. Eval:Evaluation(评估)类似于测试,但可能有所不同。评估可能更加细致,并且可以涵盖更多的评估指标,如精确度、召回率、F1 分数等。评估过程用于评估模型的性能。

为什么要使用dataloader

参考程序如下

1
dataloader = torch.utils.data.DataLoader(dataset, batch_size=1, shuffle=True, num_workers=opt.workers)

使用dataloader创建数据加载器(数据集对象、每次读取数据的数量、是否对数据进行随机打乱、读取数据时使用的线程数)。

可以将数据分成小批次、方便模型的训练,并且减少内存占用,方便多线程并行处理。