2
最近、私は猫と犬の分類(基本的な)のための基本的なCNNモデルを作成しました。ケラスを使用してこれらのレイヤの出力をどのように視覚化できますか?私はケラスにTensorflowバックエンドを使用しました。ケラスの畳み込みニューラルネットワークの中間層の出力を視覚化する方法は?
最近、私は猫と犬の分類(基本的な)のための基本的なCNNモデルを作成しました。ケラスを使用してこれらのレイヤの出力をどのように視覚化できますか?私はケラスにTensorflowバックエンドを使用しました。ケラスの畳み込みニューラルネットワークの中間層の出力を視覚化する方法は?
あなたが見て予測をしたいすべてのレイヤーの出力を取るモデルを定義することができます
cnnModel = #a model you have defined with layers
そして、あなたはの出力をしたいとします
は、あなたの完全なモデルがあるとしインデックス1,5、および8のレイヤー。
これらのレイヤの出力を使用して、このモデルから新しいモデルを作成します。
from keras.models import Model
desiredLayers = [1,5,8]
desiredOutputs = [cnnModel.layers[i].output for i in desiredLayers]
#alternatively, you can use cnnModel.get_layer('layername').output for that
newModel = Model(cnnModel.inputs, desiredOutputs)
このモデルで予測を行います。今
print(newModel.predict(inputData))
、彼らは通常の画像より道以上のチャンネルを有することができるので、これらの結果は、トリッキーなことがあり、「見える化」。
ありがとうございます。あなたが言ったように、それは本当にトリッキーです。彼らはより多くのチャンネルを持っています。そのための提案。 – Afrid
おそらく、各チャンネルをrgb画像として扱いますか? –
ありがとう、それは動作します。フィルタがどのように機能しているかを見ることができます。 – Afrid