如何在 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中保存模型架构?

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

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

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

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

如何在Django中保存模型记录

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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