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

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

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-22 21:35:18746ブラウズ

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。