ホームページ > バックエンド開発 > Python チュートリアル > Keras でレイヤー出力にアクセスする方法: 個々のレイヤー データを抽出して評価するためのガイド

Keras でレイヤー出力にアクセスする方法: 個々のレイヤー データを抽出して評価するためのガイド

Mary-Kate Olsen
リリース: 2024-11-22 21:35:18
オリジナル
744 人が閲覧しました

How to Access Layer Outputs in Keras: A Guide to Extracting and Evaluating Individual Layer Data

Keras でレイヤー出力を抽出する方法

深層学習モデルでは、分析や視覚化のために個々のレイヤーの出力にアクセスすると便利なことがよくあります。 。 Keras では、これはモデルのレイヤー属性を使用して実現できます。

レイヤー出力へのアクセス

特定のレイヤーの出力テンソルを取得するには、次を使用します。

layer_output = model.layers[layer_index].output
ログイン後にコピー

たとえば、次の 2 番目の層の出力を取得するにはモデル:

model = Sequential()
model.add(Convolution2D(...))
model.add(Activation('relu'))
ログイン後にコピー

次を使用します:

layer_output = model.layers[1].output
ログイン後にコピー

すべてのレイヤー出力の抽出

すべてのレイヤーの出力を抽出するには:

layer_outputs = [layer.output for layer in model.layers]
ログイン後にコピー

レイヤーの評価中出力

指定された入力でレイヤーの出力を評価するには:

import keras.backend as K

input_placeholder = model.input
function = K.function([input_placeholder, K.learning_phase()], layer_outputs)

test_input = np.random.random(input_shape)
layer_outs = function([test_input, 1.])
ログイン後にコピー

K.learning_phase() は、異なる値を示す Dropout や BatchNormalization などのレイヤーの入力として使用する必要があることに注意してください。トレーニングおよびテスト中の動作。

最適化実装

効率性を高めるため、単一の関数を使用してすべてのレイヤー出力を抽出することをお勧めします:

functor = K.function([input_placeholder, K.learning_phase()], layer_outputs)
ログイン後にコピー

以上がKeras でレイヤー出力にアクセスする方法: 個々のレイヤー データを抽出して評価するためのガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート