Kerasモデル
AI・機械学習KERASはKerasのモデル全体を保存する形式です。設定や重み、保存条件によっては学習再開用の情報も含みます。独自のレイヤーや関数を使うモデルでは、それらの定義と対応するKeras環境が必要になる場合があります。
- 主な用途
- モデル設定・重み等のまとめた保存
- 中身の種類
- バイナリデータ
目次・よくある質問・根拠資料を見る
内容の最終確認: · 編集:Kai
開き方・操作手順
使っている環境や目的の項目を開いて、手順を確認してください。
操作名・対応状況はアプリ・OS・版によって異なります。変更する前に原本を残してください。
開けないとき:症状から確認
- 独自レイヤーが見つからない:信頼できる作成元の定義や登録方法を確認します。
- 版やバックエンドが合わない:保存時の環境と必要な演算の対応を照合します。
- 安全な読み込みで拒否される:原因を確認し、未知のモデルのためにsafe_modeを無条件に解除しません。
- 独自レイヤーの識別エラー:作成者が提供する定義と登録名を揃えます。
- compile関連で失敗:推論だけなのか学習再開かを確認し、対応する設定を選びます。
- バックエンド変更で失敗:独自演算が別バックエンドで動くか確認します。
KERAS → 推論形式 / 重み保存
- 対応環境でモデルを読み、構造と入出力を確認します。
- 用途に合う公式の書き出しや重み保存を使い、元モデルとの出力差を比較します。
- 書き出し前後で同じ入力を使い、出力の形状・値・処理時間を比較します。モデル定義と変換条件も保存します。
重みだけの保存にはモデル設定が含まれません。推論用形式は学習再開情報を保持しない場合があります。
独自オブジェクトを受け取るとき
レイヤーや損失関数の名前が同じでも実装が異なると結果が変わります。定義と版を一緒に受け取り、信頼できるものを登録します。
知らないlambdaやコードを読み込むために安全設定を解除する前に、作成元へ対応する保存方法を確認します。
この手順の根拠:Keras Project · Whole model saving & loading / Keras Project · Weights-only saving & loading
モデルの再現性を確かめる
モデル本体、前処理、ラベル、バックエンド版を一組として記録します。モデルだけ保存しても入力処理の変更で予測は変わります。
推論用の確認と学習の継続は別です。再開が目的ならoptimizer状態等が元の保存物にあるかも確認します。
この手順の根拠:Keras Project · Whole model saving & loading / Keras Project · Weights-only saving & loading
関連形式との違い
| 形式 | 主な役割 | 確認する点 |
|---|---|---|
| KERAS | モデル全体保存 | 独自定義・バックエンド |
| weights.h5 | 重み保存 | 同じモデル構造が必要 |
| TFLITE | 端末推論向け | 学習保存と用途が違う |
取り扱いと安全性
safe_modeはすべての危険をなくす保証ではありません。モデルと独自コードの入手元を確認し、未知のコードを読み込みのために実行しないでください。
よくある質問
必ず学習を再開できる?
保存内容と対応環境、学習状態の有無を確認します。
独自レイヤーも自動で使える?
定義や登録が別途必要な場合があります。
safe_modeを切ればよい?
未知のモデルでは解除せず、作成元と原因を確認します。
compile=Falseにすると重みは消える?
読み込み時のコンパイル処理を省く指定です。学習再開に必要な設定は別途確認します。
safe_mode=Trueなら全て安全?
主に危険なlambda復元を制限する設定です。入手元や独自コードも確認します。
形式の基本情報:正式名称・MIME type・管理団体
- 名称
- Keras whole-model saving format
- 管理・仕様
- Keras Project
- MIME type
- 作成元・配信元の指定による。拡張子だけでMIME typeは確定できません。
公式・一次情報
- プロジェクト公式Whole model saving & loading
KERASの保存内容、独自オブジェクト、安全設定の資料です。
Keras Project · リンク確認: - プロジェクト公式Weights-only saving & loading
H5の重み保存とモデル全体の違いを説明しています。
Keras Project · リンク確認: