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
相关推荐
龙亘川4 小时前
数智驱动民政升级 精准守护民生保障
大数据·数据库·人工智能
IanSkunk4 小时前
长葛儿童近视防控的一个真问题:机构能做与不能做的边界,从建档到转诊的流程拆解
人工智能
码云之上4 小时前
把网页变成可引用知识——Chatbot 联网工具
人工智能·架构·agent
一木 之林4 小时前
提示词工程学习总结:用 Few-shot 把大模型调教成金融文本分类、抽取与匹配的自动化流水线
人工智能·学习·计算机视觉·金融·分类
for_ever_love__4 小时前
线性回归与梯度下降——从零手写一个模型
python·机器学习·线性回归·梯度下降
付威20235 小时前
【pi-rust源码拆解】Agent 源码看不懂?先跟着一条消息走一遍--万字长文
人工智能
老马识码5 小时前
复杂架构的取舍:Agentic RAG、LLM Wiki 与 Multi-Agent
人工智能
Maynor9965 小时前
让 AI 编程助手学会做视频、做 PPT:Agent Skills 入门与安装全指南
人工智能·aigc·ai编程·效率工具·cursor·claude code
C++ 老炮儿的技术栈5 小时前
sizeof操作符
c语言·c++·人工智能·mfc·c
code_whiter5 小时前
7.自动化测试常用函数
python·功能测试