【权重】离线环境怎么用预训练权重

在真实的生产环境中,模型加载往往不会像教程里那么"顺滑"。

  • 服务器无法访问外网(安全隔离环境)
  • 内网集群(HPC / 企业训练平台)
  • Docker 镜像需要预置模型
  • 推理服务必须离线启动

你会发现,torchvision 的"自动下载预训练权重"机制完全失效。这时候,就需要我们手动接管整个流程。

一、Step1: 在有网的机器上下好权重

python 复制代码
from torchvision import models
_ = models.vgg16(weights='IMAGENET1K_V1')   # 触发一次自动下载

​ 检查本地 cache 是否存在权重,如果没有 → 自动从官方 URL 下载,然后缓存到 ~/.cache/torch/hub/checkpoints/

​ 但在离线环境,因为无法访问下载地址,自动流程直接失败,模型初始化被阻断。

二、Step2:定位权重文件

​ 下载完成后,权重会被存到 torch cache 中。

python 复制代码
import torch, os
from torchvision import models

weights = models.VGG16_Weights.IMAGENET1K_V1
filename = weights.url.split('/')[-1]        # vgg16-397923af.pth
src = os.path.join(torch.hub.get_dir(), 'checkpoints', filename)

三、Step3复制到目标机器

​ scp / 放进镜像 / 拷到内网,然后在无网机器上加载:

python 复制代码
state_dict = torch.load('/path/to/vgg16-397923af.pth', map_location='cpu')
model = models.vgg16(weights=None)          # 注意是 None,别触发下载
model.load_state_dict(state_dict)

关键点weights=None 告诉 torchvision "只给我结构、别下载"。然后你手动 load_state_dict

​ 这一套流程在 HuggingFace 的 transformers 里完全同构,学会一次到处能用。

相关推荐
2601_966949653 分钟前
如何利用 1 分钟 K 线在 14:50 精准捕捉尾盘异动?Python 量化实战:1 分钟 K 线 + 全市场扫描
开发语言·人工智能·python·量化·quantdash·量化数据源
码视野3 分钟前
基于 Vue3 + Element Plus 的【无人值守共享自习室与空间智能预约系统】设计与实现(含PRD/三端源码/大屏)
前端·javascript·vue.js·人工智能·vue3
海天一色y4 分钟前
强化学习工具函数详解:从经验回放到优势函数计算
人工智能·python·强化学习
yuhulkjv3357 分钟前
告别复制粘贴式降级:纳米AI鸿蒙版导出word格式为何绕不开“AI 导出鸭”
人工智能·ai·word·harmonyos·ai导出鸭
故七月11 分钟前
生成式引擎优化(GEO)的底层逻辑与产业实践
大数据·人工智能·机器学习
MacroZheng14 分钟前
又一个神级画图Skill开源,再见draw.io!
java·人工智能·后端
船厂电气自动化ai大模型15 分钟前
AI大模型与数学·第56课 快速傅里叶变换FFT:DFT高效优化算法,图像、音频、扩散模型工程加速核心工具
数据结构·人工智能·深度学习·算法·机器学习
TWT12115 分钟前
用 TRAE Work 5 分钟搞定技术周报,再也不用周五下午憋字了
人工智能
AI导出鸭17 分钟前
腾讯ima的LaTeX生成PDF文件复制后数学公式乱码,怎样修改?AI导出鸭苹果版硬核拆解
人工智能·pdf·ai导出鸭
TechEdu20260618 分钟前
[人工智能]Kimi(月之暗面 Moonshot AI):长上下文、智能体与工程实践
人工智能·ai