ファイルを知る、使いこなす。
.pt

PyTorchモデル / チェックポイント

AI・機械学習

PTはPyTorchの保存データで使われますが、中身は重みの辞書、モデル全体、チェックポイント等で異なります。拡張子だけで読み込み方を決めず、提供元の保存方法と必要なモデル定義を確認します。

主な用途
モデル重み・チェックポイント等の保存
中身の種類
バイナリデータ
目次・よくある質問・根拠資料を見る

内容の最終確認: · 編集:Kai

開き方・操作手順

使っている環境や目的の項目を開いて、手順を確認してください。

まず用途と配布セットを確認

state_dict、チェックポイント、TorchScriptを区別します。

  1. 配布元の説明と利用条件を読み、作成ソフト・版・用途を記録します。
  2. 保存コードを確認し、torch.saveの重み・モデル全体なのか、torch.jit.saveの成果物なのか判別します。
  3. 原本を保管し、必要な設定・関連ファイルをコピーの作業フォルダーに揃えます。
対応環境で構造を確認

読み込み成功と推論成功は分けて確認します。

  1. 信頼できる配布物だけを、作成時のライブラリとモデル定義がある環境で扱います。
  2. torch.save由来の対応データは、weights_only=Trueとmap_locationの適切な指定で確認します。
  3. キーと形状を確認し、TorchScriptなら指定されたtorch.jit.load手順へ切り替えます。
既知の入力で動作を確認

入力仕様を合わせ、元の結果と照合します。

  1. 重み保存なら同じモデル構造を作り、load_state_dictの不一致を確認します。
  2. 推論ではeval状態と推論用の実行設定を使い、同じ前処理で既知の入力を渡します。
  3. 出力を保存時の例と比較し、環境・モデル定義・読み込み方式を記録します。

操作名・対応状況はアプリ・OS・版によって異なります。変更する前に原本を残してください。

開けないとき:症状から確認

  • キーや形が違う:モデル構造・版・パラメーター名を照合します。
  • クラスが見つからない:モデル全体を保存したデータでは元の定義等に依存する場合があります。
  • 読み込みが安全設定で停止:保存方法と提供元を確認します。警告を消すために安全設定を弱めないでください。
  • CUDAがない環境で失敗:保存時デバイスへの復元ではなく、対応するCPUへのmap_locationを検討します。
  • weights_onlyで拒否:保存方式と含まれるオブジェクトを確認します。理由不明のままFalseにしません。
  • キーが合わないのにstrict=Falseで進めた:未読込の層が結果へ影響するため、構造差を先に調べます。

PTの重み利用 / ONNX等へのエクスポート

  1. 信頼できる重みを正しいモデル定義へ読み込み、入力条件と推論結果を確認します。
  2. 対応するエクスポート機能を使い、元モデルと出力・精度・必要メモリーを比較します。
  3. 書き出し前後で同じ入力を使い、出力の形状・値・処理時間を比較します。モデル定義と変換条件も保存します。

モデル構造のない重みだけでは変換できない場合があります。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で判断
PT2export / コンパイル包装専用の復元手順
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 · リンク確認: