中間層結果をkersに基づいて出力する2つの実施形態
1、関数モデルAPIを使用して、新しいモデルを作成し、入力と出力を元のモデルの入力と希望の層の出力と定義し、predicatを再実行する。
以上のケセラに基づいて中間層の結果を出力する2つの実現方法は、小編集が皆さんに提供するすべての内容です。参考にしていただければと思います。どうぞよろしくお願いします。
#coding=utf-8
import seaborn as sbn
import pylab as plt
import theano
from keras.models import Sequential
from keras.layers import Dense,Activation
from keras.models import Model
model = Sequential()
model.add(Dense(32, activation='relu', input_dim=100))
model.add(Dense(16, activation='relu',name="Dense_1"))
model.add(Dense(1, activation='sigmoid',name="Dense_2"))
model.compile(optimizer='rmsprop',
loss='binary_crossentropy',
metrics=['accuracy'])
# Generate dummy data
import numpy as np
#
data = np.random.random((1000, 100))
labels = np.random.randint(2, size=(1000, 1))
# Train the model, iterating on the data in batches of 32 samples
model.fit(data, labels, epochs=10, batch_size=32)
# model load
# model,
dense1_layer_model = Model(inputs=model.input,
outputs=model.get_layer('Dense_1').output)
# model
dense1_output = dense1_layer_model.predict(data)
print dense1_output.shape
print dense1_output[0]
2、バックエンドはtheanoを使っていますので、theanoの関数を使うことも考えられます。
# theano
dense1 = theano.function([model.layers[0].input],model.layers[1].output,allow_input_downcast=True)
dense1_output = dense1(data) #visualize these images's FC-layer feature
print dense1_output[0]
効果は同じです。以上のケセラに基づいて中間層の結果を出力する2つの実現方法は、小編集が皆さんに提供するすべての内容です。参考にしていただければと思います。どうぞよろしくお願いします。