파이썬
KERAS Convolution 필터 데이터 저장하기
카멜레온개발자
2020. 12. 9. 20:16
케라스를 잘 하지는 못하지만...-_-;
케라스 Convolution 하는 중간에 데이터가
(1, 30, 30, 96)
(1, 14, 14, 96)
(1, 6, 6, 384)
이런 형태로 나오던데,
필터수가 마지막에 나오는 걸로 알고 있는데,
이미지화 하려면
(1, 30, 30, 96) -> (96, 30, 30)
이렇게 바꿔야 할듯
import numpy as np
from PIL import Image
''' 이놈으로 표현되어야 할 듯 :
v = np.array(np.uint8(
[
[[0, 0, 0],[50, 50, 50], [100, 100, 100]],
[[100, 100, 100],[150, 150, 150], [200, 200, 200]]
]
))
#'''
v = np.array(np.uint8(
[
[[[ 0, 100], [ 0, 100], [ 0, 100]],
[[ 50, 150], [ 50, 150], [ 50, 150]],
[[100, 200], [100, 200], [100, 200]]]
]))
#'''
for i in range(v.shape[len(v.shape)-1]):
vt = v[...,i]
print('v.shape-2['+str(i)+'] : ', vt.shape)
print(vt)
im = Image.fromarray(vt[0], 'L')
im.save('image'+str(i)+'.png')
#'''
출력 결과
v.shape-1 : (1, 3, 3, 2)
[[[[ 0 100]
[ 0 100]
[ 0 100]]
[[ 50 150]
[ 50 150]
[ 50 150]]
[[100 200]
[100 200]
[100 200]]]]
v.shape-2[0] : (1, 3, 3)
[[[ 0 0 0]
[ 50 50 50]
[100 100 100]]]
v.shape-2[1] : (1, 3, 3)
[[[100 100 100]
[150 150 150]
[200 200 200]]]