python打卡day37

@疏锦行

知识点回顾:

  1. 过拟合的判断:测试集和训练集同步打印指标

  2. 模型的保存和加载

a. 仅保存权重

b. 保存权重和模型

c. 保存全部信息checkpoint,还包含训练状态

  1. 早停策略

**作业:**对信贷数据集训练后保存权重,加载权重后继续训练50轮,并采取早停策略

复制代码
# 保存模型权重
torch.save(model.state_dict(), 'credit_model_weights.pth')

# 加载模型权重
model.load_state_dict(torch.load('credit_model_weights.pth'))

# 设置继续训练的轮数
additional_epochs = 50

for epoch in range(additional_epochs):
    # 前向传播
    outputs = model(X_train_tensor)
    loss = criterion(outputs, y_train_tensor)

    # 反向传播和优化
    optimizer.zero_grad()
    loss.backward()
    optimizer.step()

    if (epoch + 1) % 10 == 0:
        print(f'Epoch [{epoch+1}/{additional_epochs}], Loss: {loss.item():.4f}')

# 保存继续训练后的模型权重
torch.save(model.state_dict(), 'credit_model_weights_continued.pth')
# 早停策略参数
patience = 10  # 容忍验证集损失不下降的最大轮数
best_val_loss = float('inf')
counter = 0

for epoch in range(num_epochs):
    # 训练代码
    model.train()
    outputs = model(X_train_tensor)
    train_loss = criterion(outputs, y_train_tensor)
    optimizer.zero_grad()
    train_loss.backward()
    optimizer.step()

    # 验证代码
    model.eval()
    with torch.no_grad():
        val_outputs = model(X_val_tensor)
        val_loss = criterion(val_outputs, y_val_tensor)

    print(f'Epoch [{epoch+1}/{num_epochs}], Train Loss: {train_loss.item():.4f}, Val Loss: {val_loss.item():.4f}')

    # 早停策略逻辑
    if val_loss < best_val_loss:
        best_val_loss = val_loss
        counter = 0
        # 保存最佳模型权重
        torch.save(model.state_dict(), 'best_credit_model_weights.pth')
    else:
        counter += 1
        if counter >= patience:
            print('Early stopping!')
            break
相关推荐
七牛开发者1 小时前
从 GLM 到 GPT,HarnessPro 如何用 RSI 降低 Agent 成本
人工智能·gpt·agent·harness·rsi
跨境卫士-小汪2 小时前
TikTokShop欧洲商品接口架构调整跨境技术团队需要做好哪些准备
大数据·人工智能·新媒体运营·跨境电商·跨境·营销策略
飞Link3 小时前
什么是 AirSim?一文读懂无人机仿真平台
python·算法·无人机
康小汪3 小时前
AI 写 Vue 总写成同一个味道:给它装 Skills,装的不是知识是边界
前端·vue.js·人工智能·ai编程·最佳实践
收放扳机3 小时前
多机连线(In-Line)场景下,收放板机“缓存工位”的容量与架构选型参考
人工智能·科技·自动化·制造·pcb工艺
曲径海盗3 小时前
【Python 学习第 38 天】for 循环
python·学习笔记·编程入门
武天旭3 小时前
AI安全--AI大模型的后门攻击检测与防御
人工智能·深度学习·安全·机器学习
智能运维指南4 小时前
研制过程“两张皮“怎么破:研制一体化支撑平台的定位、能力边界与落地前提
java·前端·人工智能·嘉为蓝鲸
人工智能AI技术4 小时前
DeepInfer开源炸场!别再妄想个人电脑跑满血DeepSeek
人工智能
深蓝电商API4 小时前
用AI生成拟人行为:让鼠标轨迹更“有人味”
人工智能·爬虫