PyTorchモデル / チェックポイント
AI・機械学習PTはPyTorchの保存データで使われますが、中身は重みの辞書、モデル全体、チェックポイント等で異なります。拡張子だけで読み込み方を決めず、提供元の保存方法と必要なモデル定義を確認します。
- 主な用途
- モデル重み・チェックポイント等の保存
- 中身の種類
- バイナリデータ
目次・よくある質問・根拠資料を見る
内容の最終確認: · 編集:Kai
開き方・操作手順
使っている環境や目的の項目を開いて、手順を確認してください。
操作名・対応状況はアプリ・OS・版によって異なります。変更する前に原本を残してください。
開けないとき:症状から確認
- キーや形が違う:モデル構造・版・パラメーター名を照合します。
- クラスが見つからない:モデル全体を保存したデータでは元の定義等に依存する場合があります。
- 読み込みが安全設定で停止:保存方法と提供元を確認します。警告を消すために安全設定を弱めないでください。
- CUDAがない環境で失敗:保存時デバイスへの復元ではなく、対応するCPUへのmap_locationを検討します。
- weights_onlyで拒否:保存方式と含まれるオブジェクトを確認します。理由不明のままFalseにしません。
- キーが合わないのにstrict=Falseで進めた:未読込の層が結果へ影響するため、構造差を先に調べます。
PTの重み利用 / ONNX等へのエクスポート
- 信頼できる重みを正しいモデル定義へ読み込み、入力条件と推論結果を確認します。
- 対応するエクスポート機能を使い、元モデルと出力・精度・必要メモリーを比較します。
- 書き出し前後で同じ入力を使い、出力の形状・値・処理時間を比較します。モデル定義と変換条件も保存します。
モデル構造のない重みだけでは変換できない場合があります。PTをGGUF等へ改名しても変換されません。
保存コードが重要な理由
同じPTでも重み辞書、学習再開情報、モデル全体、TorchScriptなどの用途があります。拡張子でローダーを決めると誤った復元につながります。
保存コードがない場合は作成者へモデル構造と読み込み例を確認します。信頼不明のファイルを試行錯誤で実行しないようにします。
この手順の根拠:PyTorch Project · Saving and Loading Models / PyTorch Project · torch.load / PyTorch Project · Serialization semantics
重みが入っても予測が変わる理由
学習時のままのDropout等、前処理やラベル順の違いを確認します。重みが読めたことと、用途どおりの推論は分けて考えます。
再現用にモデル定義、版、入力例、参照出力を保存します。学習再開が必要ならoptimizer等の状態も別途確認します。
この手順の根拠:PyTorch Project · Saving and Loading Models / PyTorch Project · torch.load / PyTorch Project · Serialization semantics
関連形式との違い
| 形式 | 主な役割 | 確認する点 |
|---|---|---|
| PT / PTH | 慣用的なPyTorch保存名 | 保存APIで判断 |
| PT2 | export / コンパイル包装 | 専用の復元手順 |
| SAFETENSORS | テンソル保存 | 学習状態等とは別 |
取り扱いと安全性
torch.load等の保存データ読み込みは、保存方式によってコード実行の危険があります。不明なPTを読み込まず、weights_onlyの設定だけでも完全な安全とは判断しないでください。
よくある質問
PTは全部モデル重み?
重み・モデル全体・チェックポイント等があります。
重みだけで推論できる?
対応する構造・設定・前処理等が必要です。
エラーなら安全設定を無効にする?
提供元と保存方式を確認し、無条件に制限を弱めないでください。
PTとPTHの違いは決まっている?
慣用的な名前で、保存APIを特定できません。作成コードと配布説明から判断します。
CPUへ移すとモデルが変換される?
読み込み先デバイスを変える操作です。モデル構造や保存形式の変換とは別です。
形式の基本情報:正式名称・MIME type・管理団体
- 名称
- PyTorch checkpoint or producer-specific data
- 管理・仕様
- PyTorch project / producing application
- MIME type
- 作成元・配信元の指定による。拡張子だけでMIME typeは確定できません。
公式・一次情報
- プロジェクト公式Saving and Loading Models
state_dictとモデル全体の保存方法の違いの資料です。
PyTorch Project · リンク確認: - プロジェクト公式torch.load
weights_only、読み込み先デバイス、信頼できない保存データへの警告を確認できます。
PyTorch Project · リンク確認: - 公式資料Serialization semantics
weights_onlyの制約と信頼できない保存物の注意です。
PyTorch Project · リンク確認: