如不用自动下载权重,要把pretrained=True改成False?

pretrained=True底层逻辑

1. pretrained=True的真正作用

当你调用resnet50(pretrained=True)时,torchvision的源码里会做两件事:

  • 第一步:初始化一个空的 ResNet50 模型结构;
  • 第二步:自动调用model_zoo.load_url(model_urls['resnet50'])------ 也就是去下载官方权重文件,并加载到模型中。

这就是为什么只要设pretrained=True就会触发下载 ------ 这是torchvision内置的逻辑,和你后续手动加载本地权重无关,哪怕你手动加载了,pretrained=True还是会先触发下载流程。

2. 改成pretrained=False的影响

pretrained=True改成pretrained=False仅会关闭 "自动下载 + 自动加载官方权重" 这一步,不会影响模型本身的结构,也不会影响你后续手动加载本地权重的操作。

简单说:

  • pretrained=True:模型结构 + 自动下载并加载官方权重;
  • pretrained=False:仅初始化模型结构(空参数),但你后续手动加载了本地的官方权重,最终模型的参数和pretrained=True完全一样的,不会影响项目其他部分。

如果不改False,哪怕你写了加载本地权重的代码,程序还是会先去尝试下载官方权重(这就是你之前遇到下载中断的原因),下载失败后才会执行你后续的代码(甚至可能直接报错终止,根本走不到你加载本地权重的步骤)。

相关推荐
承渊政道3 天前
【从零开始大模型开发与微调:基于PyTorch与ChatGLM】(实战训练自己的ChatGPT从续写模型到对齐助手:RLHF、奖励模型与PPO精读)
人工智能·pytorch·chatgpt·预训练·rlhf·大模型微调
weixin_4402132913 天前
大模型训练、微调、对齐、推理、量化、优化、数据集等
微调·数据集·sft·预训练·模型量化·gptq·kv cache
Lee_jerome15 天前
python神经网络编程入门(四十四)——微调预训练 BERT 做下游任务
微调·bert·迁移学习·文本分类·预训练·小样本·冻结特征
臭小子2221 个月前
【在 RX 6750 GRE 10GB 上预训练 GPT:一场 ROCm 生态的踩坑实录
gpt·预训练·amd·rocm
thesky1234561 个月前
27届大模型岗面试准备(五):预训练全流程拆解——从数据清洗到 Tokenizer 再到 PT 的每
人工智能·面试·大模型·预训练·tokenizer
HyperAI超神经2 个月前
数据集汇总丨英伟达开源Nemotron系列数据集,超10T tokens+40M 条后训练样本,覆盖数学推理/代码生成/多语言对话
人工智能·大模型·数据集·nvidia·预训练·代码生成·监督微调
Token炼金师2 个月前
目标的抉择:CLM 称王、MLM 退场、FIM 补刀、多 Token 与多语 —— 预训练目标五辩
人工智能·深度学习·预训练·clm·mlm·fim·mtp
AndrewHZ3 个月前
【LLM技术全景】预训练与微调:大模型如何“学习“
人工智能·深度学习·大模型·llm·微调·预训练·rlhf
qcx234 个月前
【系统学AI】03 LLM训练全流程:预训练→SFT→对齐五条路线
人工智能·llm·sft·预训练·奖励模型·对齐·路线
lkforce4 个月前
MiniMind学习笔记(三)--train_pretrain.py(预训练)
笔记·机器学习·ai·预训练·minimind·train_pretrain