一、学习目标
• 理解验证集的作用,并使用训练集和验证集完成训练
• 学会使用 Pytorch 环境下的模型读取和加载,并了解调参流程
二、数据准备
通常的数据构造分为如下几种:
• 训练集(Train Set):模型用于训练和调整模型参数;
• 验证集(Validation Set):用来验证模型精度和调整模型超参数;
• 测试集(Test Set):验证模型的泛化能力。
对于获取到的训练数据可以使用如下方法分为训练集、验证集、测试集:
1,留出法
2,交叉验证法
3,自助采样法
三、模型训练与验证
train_loader = torch.utils.data.DataLoader(
train_dataset,
batch_size=10,
shuffle=True,
num_workers=10,
)
val_loader = torch.utils.data.DataLoader(
val_dataset,
batch_size=10,
shuffle=False,
num_workers=10,
)
EPOCHES = 5
best_loss = 10
for epoch in range(1, EPOCHES+1):
losses = []
start_time = time.time()
model.train()
for image, target in tqdm_notebook(loader):
image, target = image.to(DEVICE), target.float().to(DEVICE)
optimizer.zero_grad()
output = model(image)['out']
loss = loss_fn(output, target)
loss.back