如何在 PyTorch 中保存模型?

鸭皇后

假设我们有一个可以像这样验证的模型,并且该模型继承了torch.nn.Module

def validate(logger, config, valid_loader, model, criterion, epoch, main_proc):
    meters = AverageMeterGroup()
    model.eval()

    with torch.no_grad():
        for step, (x, y) in enumerate(valid_loader):
            x, y = x.cuda(non_blocking=True), y.cuda(non_blocking=True)
            logits, _ = model(x)
            loss = criterion(logits, y)
            prec1, prec5 = utils.accuracy(logits, y, topk=(1, 5))
            metrics = {"prec1": prec1, "prec5": prec5, "loss": loss}
            metrics = utils.reduce_metrics(metrics, config.distributed)
            meters.update(metrics)

            if main_proc and (step % config.log_frequency == 0 or step + 1 == len(valid_loader)):
                logger.info("Epoch [%d/%d] Step [%d/%d]  %s", epoch + 1, config.epochs, step + 1, len(valid_loader), meters)

    if main_proc:
        logger.info("Train: [%d/%d] Final Prec@1 %.4f Prec@5 %.4f", epoch + 1, config.epochs, meters.prec1.avg, meters.prec5.avg)
    return meters.prec1.avg, meters.prec5.avg

如何更改验证程序以将验证后的模型保存到文件系统中,以便它可以在其他数据上运行?

拉维克特
with torch.no_grad():
    for step, (x, y) in enumerate(valid_loader):
        x, y = x.cuda(non_blocking=True), y.cuda(non_blocking=True)
        logits, _ = model(x)
        loss = criterion(logits, y)
        prec1, prec5 = utils.accuracy(logits, y, topk=(1, 5))
        metrics = {"prec1": prec1, "prec5": prec5, "loss": loss}
        metrics = utils.reduce_metrics(metrics, config.distributed)
        meters.update(metrics)

        if main_proc and (step % config.log_frequency == 0 or step + 1 == len(valid_loader)):
            logger.info("Epoch [%d/%d] Step [%d/%d]  %s", epoch + 1, config.epochs, step + 1, len(valid_loader), meters)

torch.save(model,'model'+str(epoch)+'.pt')
if main_proc:
    logger.info("Train: [%d/%d] Final Prec@1 %.4f Prec@5 %.4f", epoch + 1, config.epochs, meters.prec1.avg, meters.prec5.avg)
return meters.prec1.avg, meters.prec5.avg

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在PyTorch中保存经过训练的模型的最佳方法?

如何从Keras中保存的模型进行预测?

如何在R中保存机器学习模型

如何在Apache Spark中保存和加载MLLib模型?

如何在张量流中保存训练好的模型?

如何在keras中保存模型过滤器

如何在pyomo中保存(修改)模型实例

如何使用Lambda函数在pytorch中保存LambdaLR调度程序?

如何在Tensorflow中保存多层感知器模型

如何保存tensorflow在PHP中保存模型多个文件

如何在Keras中保存训练期间保存的模型列表(仅保存最佳)?

如何在Pytorch中保存和加载随机数生成器状态?

如何在Django模型表单中保存外键

如何在联邦的Tensorflow中保存模型

如何在PyTorch中保存模型架构?

pytorch-如何从DistributedDataParallel学习中保存和加载模型

如何在类内使用私有方法反序列化PyTorch保存的模型?

如何在一次交易中保存相关模型?

如何在libsvm中保存经过matlab训练的模型

如何在R中保存JAGS模型对象?

如何在视图中的模型中保存表单字段

如何在Scala中保存RandomForestClassifier Spark模型?

如何在Django中保存模型记录

如何在ignite中保存决策树训练模型?

如何在 Django 模型中保存()一个参数

如何直接在 s3 Bucket 中保存 Pytorch 模型?

如何在 Colab 的 PyTorch 中加载在函数中定义的已保存模型?

如何在 Tensorflow 中保存不可序列化的模型

如何在 Pytorch 中保存/加载具有多个损失的模型检查点?