아래 코드로 내용을 대체합니다.
더 많은 층의 output을 보고 싶으면, feature_maps를 for-loop로 구현하면 됩니다.
# 신경망 시각화(조휘용)
import tensorflow as tf
get_layer_name = [layer.name for layer in model.layers]
get_output = [layer.output for layer in model.layers]
# 모델 전체에서 output을 가져올 수 있습니다.
visual_model = tf.keras.models.Model(inputs = model.input, outputs = get_output)
test_img = np.expand_dims(testX[0], axis = 0)
feature_maps = visual_model.predict(test_img)
# 첫 번째 컨볼루션 층의 특징맵을 시각화합니다.
conv_featuremap = feature_maps[0]
conv_name = get_layer_name[0]
img_size = conv_featuremap.shape[1]
img_features = conv_featuremap.shape[-1]
display_grid = np.zeros((img_size, img_size * img_features))
for i in range(img_features):
x = conv_featuremap[:, :, :, i]
x -= x.mean(); x /= x.std()
x *= 64
x += 128
x = np.clip(x, 0, 255).astype('uint8')
display_grid[:, i * img_size : (i + 1) * img_size] = x
plt.figure(figsize = (20,20))
plt.title(conv_name)
plt.grid(False)
plt.imshow(display_grid, cmap = 'viridis')
'# Machine Learning > Keras Implementation' 카테고리의 다른 글
Learning Rate: Cosine Annealing (1) (0) | 2020.07.31 |
---|---|
keras load_model(), 커스텀 객체를 포함한 모델을 로드해보자 (0) | 2020.07.10 |
keras custom generator - 2 (0) | 2020.01.31 |
Keras, 1x1 Convolution만 사용해서 MNIST 학습시키기 (0) | 2019.11.05 |
Keras Custom Activation 사용해보기 (0) | 2019.10.27 |