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

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

  • 服务器无法访问外网(安全隔离环境)
  • 内网集群(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 里完全同构,学会一次到处能用。

相关推荐
waterfeeling4 小时前
用 Context7 做一次点云配准的调研—测试—报告闭环:鲁棒 ICP
人工智能
Data-Miner7 小时前
面对 AI 大模型智能涌现,如何从技术层面保护好隐私与数据安全?
大数据·人工智能
hpoenixf8 小时前
当 AI 开始谈“买什么”,研究助手离投顾和交易还有多远?
人工智能
大模型真好玩8 小时前
如何让视频模型对你言听计从?结构化提示词助你生成电影级画面
人工智能·agent·deepseek
zhang133830890758 小时前
传统机械三杯式风速传感器易磨损冻堵?CG-88金属超声波风速风向传感器给出免运维方案
运维·服务器·网络·人工智能·自动化
特立独行的猫a8 小时前
会说确认叫车才下单-启元机器人官方滴滴打车技能源码详解
人工智能·机器人·技能·启元机器人
老金带你玩AI8 小时前
GPT-6.1 Terra上线:更便宜了,干活到底怎么样?
人工智能
会议咨询8 小时前
2027年电力电子、人工智能与大数据国际会议(PEABD 2027)
大数据·人工智能·电力电子
Jsundoku9 小时前
第五章 深度学习 -- 卷积神经网络
人工智能·深度学习·cnn
水如烟9 小时前
孤能子视角:SEP《人工智能的认识论》EIS读法·理解——理解幻觉与解压缩幻觉:同一缺口,两份报告
人工智能