锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

训练DPT:由测试test到训练train图像的一个epochs的optimize.zero_grad() loss.backward() optimizer.step()

时间:2022-12-03 04:00:00 压差传感器dpt0100u1

我不知道你是否有这种感觉。许多研究论文通常会给他们test.py文件,但它train.py文件通常是空白的。在这个时候,我感觉到了文章test确实很nice,我只想探索其更原始、最优参数和训练参数的过程。然后我们必须开始研究如何从test进一步得到train呢?

我想的是,我绝对不是唯一一个想这样做的人。我的前任一定有不同的经验分享。这只是我的初步探索test到构建train:

1.研究现有的train.py文件:

2.比较研究可以发现test和train一般差异:

  • test:简单从inpu通过模型读取图像model处理,直接输出output,图像张数不受限制。
  • train:调用数据集(多个图像),训练方法(CPU/GPU/GPUs),损失函数(loss),优化器(Optimizer),调度器(Scheduler),训练流程(train loop),验证流程(validation loop)。

其中很多训练都差不多,会的test修改时,除了添加缺失的模块外,还需要修改test这个过程,不再是简单的输入输出,而是进一步的数据集,同时增加损失,test它被修改成train。

3.实践

以DPT实践,学习adabins的train文件,将其test.py进行修改成train,主要是图像预处理涉及正确读取和train中的遍历epochs(详情请参考)

DPT的train loop

for epoch in range(args.epoch, epochs): ######################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################## Train loop ###########################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################         if should_log: wandb.log({"Epoch": epoch}, step=step)         for i, batch in tqdm(enumerate(train_loader), desc=f"Epoch: {epoch   1}/{epochs}. Loop: Train",                              total=len(train_loader)) if is_rank_zero(                 args) else enumerate(train_loader):              optimizer.zero_grad()              #完成tensor数据向GPU复制粘贴             img = batch['image'].to(device)             depth = batch['depth'].to(device)              pred = model.forward(img)             #print(pred)             pred =pred.unsqueeze(1)             #print(pred)                          mask = depth             #loss = criterion_ueff(pred, depth, mask=mask.to(torch.bool), interpolate=True)             loss = ss(pred, depth, mask=mask.to(torch.bool),interpolate=True)                          loss.backward()                          nn.utils.clip_grad_norm_(model.parameters(), 0.1)  # optional             optimizer.step()             if should_log and step % 5 == 0:                  wandb.log({f"Train/{ss.name}": loss.item()}, step=step)                # wandb.log({f"Train/{criteion_bins.name}": l_chamfer.item()}, step=step)

            step += 1
            scheduler.step()

            #########################################################################

    return model

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章