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

Kerasモデル

AI・機械学習

KERASはKerasのモデル全体を保存する形式です。設定や重み、保存条件によっては学習再開用の情報も含みます。独自のレイヤーや関数を使うモデルでは、それらの定義と対応するKeras環境が必要になる場合があります。

主な用途
モデル設定・重み等のまとめた保存
中身の種類
バイナリデータ
目次・よくある質問・根拠資料を見る

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

開き方・操作手順

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

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

モデル全体の保存と重みだけの保存を区別します。

  1. 配布元の説明と利用条件を読み、作成ソフト・版・用途を記録します。
  2. モデルのKeras版、バックエンド、独自レイヤーの有無を配布説明で確認します。
  3. 原本を保管し、必要な設定・関連ファイルをコピーの作業フォルダーに揃えます。
対応環境で構造を確認

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

  1. 対応Keras環境で、信頼できるモデルと必要な登録済み独自オブジェクトを用意します。
  2. load_modelではsafe_modeを保持し、用途に応じてcompileの要否を確認します。
  3. 復元したモデルの入力shapeとレイヤー構成を確認します。
既知の入力で動作を確認

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

  1. モデル用の前処理で既知の入力を作り、推論出力を照合します。
  2. 学習再開ならoptimizer・損失・メトリクスと再開条件を確認します。
  3. 別環境でも同じ出力になるか、許容差を設けて数値を確認します。

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

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

  • 独自レイヤーが見つからない:信頼できる作成元の定義や登録方法を確認します。
  • 版やバックエンドが合わない:保存時の環境と必要な演算の対応を照合します。
  • 安全な読み込みで拒否される:原因を確認し、未知のモデルのためにsafe_modeを無条件に解除しません。
  • 独自レイヤーの識別エラー:作成者が提供する定義と登録名を揃えます。
  • compile関連で失敗:推論だけなのか学習再開かを確認し、対応する設定を選びます。
  • バックエンド変更で失敗:独自演算が別バックエンドで動くか確認します。

KERAS → 推論形式 / 重み保存

  1. 対応環境でモデルを読み、構造と入出力を確認します。
  2. 用途に合う公式の書き出しや重み保存を使い、元モデルとの出力差を比較します。
  3. 書き出し前後で同じ入力を使い、出力の形状・値・処理時間を比較します。モデル定義と変換条件も保存します。

重みだけの保存にはモデル設定が含まれません。推論用形式は学習再開情報を保持しない場合があります。

独自オブジェクトを受け取るとき

レイヤーや損失関数の名前が同じでも実装が異なると結果が変わります。定義と版を一緒に受け取り、信頼できるものを登録します。

知らない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 · リンク確認: