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
相关推荐
reasonsummer1 分钟前
【办公类-117-01】20250924通义万相视频2.5——三个小人(幼儿作品动态化)
人工智能·音视频·通义万相
常州晟凯电子科技17 分钟前
君正T32开发笔记之固件烧写
人工智能·笔记·嵌入式硬件·物联网
元宇宙时间32 分钟前
SYN VISION韩国发布会:获评非小号Alpha,战略合作PrompTale
人工智能·web3·区块链
王哥儿聊AI36 分钟前
告别人工出题!PromptCoT 2.0 让大模型自己造训练难题,7B 模型仅用合成数据碾压人工数据集效果!
人工智能·深度学习·算法·机器学习·软件工程
reasonsummer38 分钟前
【办公类-116-01】20250929家长会PPT(Python快速批量制作16:9PPT相册,带文件名,照片横版和竖版)
java·数据库·python·powerpoint
cxr82840 分钟前
Prompt Programming - 用文字重构AI智能体系
人工智能·提示词工程
拉姆哥的小屋40 分钟前
基于提示学习的多模态情感分析系统:从MULT到PromptModel的华丽升级
python·深度学习·学习
深栈1 小时前
机器学习:逻辑回归
人工智能·pytorch·机器学习·逻辑回归·scikit-learn
yourkin6661 小时前
人工智能 (AI) > 机器学习 (ML) > 深度学习 (DL)
人工智能·深度学习·机器学习
山海青风1 小时前
藏语自然语言处理入门 - 2 分词
人工智能·自然语言处理