PyTorch 模型保存與加載 (速查版)

文章目錄

    • 1. 推理用: 保存 & 加載權重 (最常見)
    • 2. 繼續訓練用: 保存 & 加載完整狀態
    • 3. 微調用: 部分加載 (分類頭不同等情況)


1. 推理用: 保存 & 加載權重 (最常見)

import torch
import torch.nn as nnmodel = nn.Linear(10, 2)# 保存權重
torch.save(model.state_dict(), "model.pt")# 加載權重 (推理/評估)
model2 = nn.Linear(10, 2)
state = torch.load("model.pt", map_location="cpu")
model2.load_state_dict(state)
model2.eval()   # 推理時別忘了

2. 繼續訓練用: 保存 & 加載完整狀態

# ===== 保存 =====
torch.save({"epoch": epoch,"model": model.state_dict(),"optimizer": optimizer.state_dict(),"scheduler": scheduler.state_dict(),
}, "ckpt.pt")# ===== 加載 =====
ckpt = torch.load("ckpt.pt", map_location="cpu")
model.load_state_dict(ckpt["model"])
optimizer.load_state_dict(ckpt["optimizer"])
scheduler.load_state_dict(ckpt["scheduler"])
start_epoch = ckpt["epoch"] + 1
model.train()   # 繼續訓練前別忘了

3. 微調用: 部分加載 (分類頭不同等情況)

state = torch.load("pretrain.pt", map_location="cpu")
# 只加載匹配的層, 其余保持初始化
missing, unexpected = model.load_state_dict(state, strict=False)
print("未加載:", missing) 	 	# 模型需要,但 checkpoint 里沒有的
print("多余:", unexpected)  	# checkpoint 里有,但模型不需要的

? 速記

  • 推理: 保存/加載 model.state_dict()
  • 繼續訓練: 把 optimizer/scheduler 一并保存
  • 微調: strict=False 部分加載
  • 安全: map_location="cpu" 加載更通用
  • 模式: 推理用 model.eval(),訓練用 model.train()

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/96499.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/96499.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/96499.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

oneshape acad數據集 sam-dataset

Full Text Search - Hugging Face sketchai (Sketch AI)

0913刷題日記

今日計劃10道1/10兩眼一睜就是刷209. 長度最小的子數組target 396893380 超時頭疼看下題解我的問題在于,中間有一個又寫了一個遍歷,思路和滑動窗口差不多,但是那個遍歷就把時間倍數了。頭疼還能做題,你很棒了,身體健康最重要。沒…

【JAVA】網絡編程

引言 在學習網絡編程之前,我們編寫的程序幾乎都是“單機版”的——只能在本地運行,自娛自樂,無法與其他主機(用戶)進行交互。 有些同學可能會產生誤解:既然 Java 號稱“一次編譯,到處運…

HTML標簽關系詳解:構建網頁的骨架結構

前言 在上一篇教程中,我們學習了HTML5的基本結構。今天,讓我們深入探討HTML標簽之間的關系。理解HTML標簽之間的關系對于構建結構清晰、語義明確的網頁至關重要。就像在現實生活中,建筑物的各個部分需要按照一定的規則組合在一起一樣&#x…

238 除自身以外數組的的乘積

我的解法(沒頭緒,參考AI的思路) 好奇怪啊,這個題目,沒什么思路 題目的主要難點是,如何通過這個線性運算得出所有的乘積和,同時不適用除法。 問了下AI,這種題目我可以從什么方向入手&…

智能體:從技術架構到產業落地的深度解析

在人工智能技術從 “感知智能” 向 “認知智能” 跨越的關鍵階段,智能體(Intelligent Agent)作為具備自主決策與環境交互能力的核心載體,正成為連接 AI 算法與產業應用的重要橋梁。不同于傳統被動執行指令的軟件系統,智…

MATLAB基于組合近似模型和IPSO-GA的全焊接球閥焊接工藝參數優化研究

引言與研究背景 全焊接球閥的重要性:廣泛應用于石油、天然氣、化工等長輸管道和關鍵裝置,其安全性、密封性和耐久性至關重要。閥體一旦發生焊接缺陷,可能導致災難性后果。 焊接工藝的挑戰:焊接是一個涉及電、熱、力、冶金的復雜瞬…

EzRemove(ezremove.ai)評測與實操:5 秒在線摳圖、支持批量與換底(電商/設計團隊提效指南)

摘要:做主圖、白底圖、海報的小伙伴,經常被“摳圖—換底—導出”這套流程折磨。EzRemove 是一個在線 AI 摳圖工具,支持5 秒自動摳圖、透明 PNG 導出、批量處理、背景替換與基礎編輯,無需安裝本地軟件,適合電商商家、設…

RStudio 教程:以抑郁量表測評數據分析為例

R 語言是一種專為統計計算、數據分析和圖形可視化而設計的編程語言,在學術界和工業界都備受青睞。RStudio是一款為 R 語言量身打造的集成開發環境(IDE)。它如同一個功能強大的指揮中心,能夠將數據科學工作所需的一切:控…

Rupert Baines加入CSA Catapult董事會

英國半導體行業領軍人物魯珀特貝恩斯(Rupert Baines)正式出任英國化合物半導體應用公司(CSA Catapult)非執行董事,宛若一位經驗豐富的航海家將為這艘科技旗艦指引航向。這位三次成功創業退出的科技企業家,將…

第七篇:識破“共因失效”——如何阻止汽車系統的“團滅”危機

想象一下這個場景: 你精心設計了一套雙備份的剎車系統,就像給車裝了兩條獨立的剎車線,心想:“這下總萬無一失了吧!”結果,一場寒潮來襲,兩條剎車線因為同一個原因——低溫,同時被凍住…

健康大數據與傳統大數據技術專業有何不同?

在“數據即資產”的時代,大數據技術已滲透至各行各業。從電商推薦到金融風控,從智能制造到智慧城市,數據驅動的決策模式正在重塑產業格局。然而,隨著醫療健康領域數字化進程的加速,一個新興且高度專業化的分支——健康…

圖神經網絡分享系列-SDNE(Structural Deep Network Embedding) (三)

目錄 一、實驗 1.1 數據集 1.2 基線算法 1.3 評估指標 1.4 參數設置 1.5 實驗效果 1.5.1 網絡重構 1.5.1.1 方法性能優勢 1.5.1.2 特定數據集表現 1.5.1.3 模型對比分析 1.5.1.4 鄰近性重要性驗證 1.5.2 多標簽分類 1.5.3 鏈路預測 1.5.4網絡可視化的應用 1.6 參…

《WINDOWS 環境下32位匯編語言程序設計》第16章 WinSock接口和網絡編程(1)

當今的時代是網絡時代,網絡給生活帶來的影響超過了以往的任何事物,不管我們是用瀏覽器上網,是在打網絡游戲,還是用MSN、QQ等即時通信軟件和朋友聊天,網絡的另一端實際上都是對應的網絡應用程序在提供服務。大多數的網絡…

【筆記】Windows 安裝 TensorRT 10.13.3.9(適配 CUDA 13.0,附跨版本 CUDA 調用維護方案)

實操筆記 | Windows 安裝 TensorRT 10.13.3.9(適配 CUDA 13.0,含跨版本 CUDA 調用維護示例)—— 系統 CUDA 13.0 與虛擬環境 CUDA 12.8 版本差異時,TensorRT 調用維護實例詳見附錄 本文針對 TensorRT-10.13.3.9.Windows.win10.cu…

如何關閉電腦安全和防護

了解你希望關閉電腦的安全和防護功能。??請務必注意,關閉這些防護會使電腦暴露在安全風險中,僅建議在必要時(如安裝受信任但被誤攔的軟件、進行網絡調試)臨時操作,完成后請立即重新開啟。 下面是一個快速操作指南表格…

C# Entity Framework Core 的 CRUD 操作與關聯查詢實戰示例

以下是基于 Entity Framework Core 的 CRUD 操作與關聯查詢實戰示例,以 用戶(User) 和 訂單(Order) 實體為例(一對多關系),包含完整代碼和操作說明。一、基礎準備1. 實體類定義&…

UniApp狀態管理深度重構指南

作為專業智能創作助手,我將幫助你逐步理解并實現UniApp狀態管理的深度重構。UniApp基于Vue.js框架,其狀態管理通常使用Vuex,但隨著應用規模擴大,狀態管理可能變得臃腫、難以維護。深度重構旨在優化性能、提升可維護性,…

時序數據庫:定義與基本特點

在當今的物聯網(IoT)、 DevOps監控、金融科技和工業4.0時代,我們每時每刻都在產生海量的與時間緊密相關的數據。服務器CPU指標、智能電表讀數、車輛GPS軌跡、股票交易記錄……這些數據都有一個共同的核心特征:時間是它們不可分割的…

linux系統安裝wps

在Linux系統上通過deb包安裝WPS Office是個不錯的選擇。下面是一個主要步驟的概覽,我會詳細介紹每一步以及可能遇到的問題和解決方法。步驟概覽關鍵操作說明/注意事項1. 下載DEB包訪問WPS官網下載需選擇與系統架構匹配的版本(通常是AMD64)2. …