Artificial Intelligence/Deep Learning

[DL] DNN & CNN 파라미터 개수 카운팅

inee0727 2022. 7. 10. 14:34

DNN 파라미터 계산

 

(input_dim + bias) * units = summary Param 갯수
from tensorflow.python.keras.models import Sequential
from tensorflow.python.keras.layers import Dense, Conv2D, Flatten #이미지는 2D

model = Sequential()
model.add(Dense(units=10, input_shape=(3,)))  #input_shape=(batch_size, input_dim )
model.summary() #(input_dim + bias) * units = summary Param 갯수 (Dense 모델)

 


CNN 파라미터 계산

 

( (kernel_size *channels ) + bias) ) * filters = summary Param 갯수
from tensorflow.python.keras.models import Sequential
from tensorflow.python.keras.layers import Dense, Conv2D, Flatten #이미지는 2D

model = Sequential()
model.add(Conv2D(filters=10, kernel_size = (3,3),  #출력 : ( N, 6, 6, 10 )
                                  input_shape = (8,8,1) )) #input_shape=(batch_size, row, columns, channels) 
model.add(Conv2D(7,(2,2), activation = 'relu'))   #출력 : ( N, 5, 5, 7 )
model.add(Flatten()) #출력 : (N, 28)

model.summary() # ( (kernel_size *channels ) + bias) ) * filters = summary Param 갯수 (CNN 모델)

 

( (kernel_size *channels ) + bias) ) * filters

1. 100개
((3 * 3) * 1) + 1) * 10 = 100

2. 287개
((2 * 2) * 10 + 1) *  7 = 287