【Pytorch 第一讲】 如何加载预训练模型

一. 封装Pytorch的Model 加载pre-trianed Model

python 复制代码
import torch
import torchvision.models as models
from torchvision import transforms

# 1. 下载并加载预训练模型
model = models.resnet18(pretrained=False)  # 设置pretrained=False,表示不加载预训练权重

# 2. 下载预训练权重文件并加载
pretrained_dict = torch.load("path/to/resnet18-5c106cde.pth")  # 替换为实际的权重文件路径
model.load_state_dict(pretrained_dict)

# 3. 将模型设置为评估模式
model.eval()

# 4. 示例:将模型应用于输入数据
transform = transforms.Compose([
    transforms.Resize(256),
    transforms.CenterCrop(224),
    transforms.ToTensor(),
    transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]),
])

input_data = transform(Image.open("path/to/your/image.jpg")).unsqueeze(0)  # 替换为实际的图像路径
output = model(input_data)
print(output)

二. 自定义Pytorch模型加载 Pre-trained Model

python 复制代码
# 导入 PyTorch
import torch

# 初始化你的模型
model = faster_vit_0_224()
python 复制代码
# 加载预训练权重
checkpoint = torch.load('/home/loads/vit_0_224_1k.pth.tar')

# 或者

checkpoint = torch.load('/home/loads/vit_0_224_1k.pth')

当完成这个加载以后, 可以考虑打开 checkpoint , 看看该模型保存时,包含哪些dict keys.

python 复制代码
print(checkpoint.keys())

结果: dict_keys(['epoch', 'arch', 'state_dict', 

'optimizer', 'version', 'args', 'amp_scaler', 'metric'])

根据上面的 state_dict, 可以接下来用来将权重赋予模型Model

python 复制代码
# 将权重赋值给模型

model.load_state_dict(checkpoint['state_dict'])

注意:如果 在checkpoint 的dict_keys 中不是"state_dict", 是"model_state_dict", 则需要把checkpoint"state_dict" 改成 checkpoinbt"model_state_dict" 读取所下载的的模型的权重,并将其赋予给模型。

相关推荐
Allen_LVyingbo几秒前
信息化部门在AI时代的编程转移路径分析(下)
人工智能·log4j·线性回归·健康医疗·数据库开发·时序数据库·数据库架构
EatFan3 分钟前
Agent Harness 为什么突然成了独立品类?从 pydantic-ai-harness v0.30.0 看编码智能体的可复现工程化
人工智能·ai agent·agent harness
Carl_奕然8 分钟前
【智能体】Loop 的四种设计模式之:Agent Loop(2026 最新版)
人工智能·设计模式·语言模型
j7~9 分钟前
【Python】(篇六)《基础语法(函数、列表和元组、字典、文件)》---详解
开发语言·python·文件·函数·字典·编程学习·元组与列表
Geeys13 分钟前
拼多多店铺怎么运营才能有订单?新手低成本出单攻略
大数据·网络·人工智能
艾莉丝努力练剑17 分钟前
【AI大模型接入SDK】ChatSDK架构设计与实现
网络·c++·人工智能·学习·语言模型
Data-Miner17 分钟前
做表格数据分析的AI工具怎么选?先对一下这三个真实需求,再看哪些真能落地
人工智能·数据分析·excel
闭包不眠28 分钟前
网站支持HEIC上传要多大解码器?gzip后510KB
图像处理·人工智能·计算机视觉
Wx-bishekaifayuan36 分钟前
springboot户外登山社交小程序19787-计算机课程设计、毕业设计
spring boot·后端·python·spring·elasticsearch·django·课程设计
Leo.yuan41 分钟前
从 DataX 到 Informatica,再到国产一体化平台:2026 年企业数据集成平台怎么选
人工智能