dev_AI_framework
layer에서 하나의 데이터가 아닌 입력된 전체 데이터를 처리하도록
명징직조지훈
2024. 9. 4. 12:15
특성의 개수가 n 개인 데이터의 입력,
이전에는 데이터 하나씩 layer 의 call 연산을 수행,
Seqeuntial.fit 내 불필요한 반복문 연산을 줄이기 위해 입력 데이터 전체를 각 layer 연산에 넘겨줌
이는 나중에 병렬화 등을 적용하기에 더 좋을 듯?
fit 과 하위 layer 들의 call 메서드 수정
Sequential.fit 수정
# 연산 결과를 저장
result = []
# 초기 입력값
output = x
# 전체 데이터를 처리하도록
for layer in self._layers:
output = layer.call(output)
result.append(output)
return result
dense.call 수정
def call(self, inputs):
"""
dense 층 연산
Parameters:
inputs (n, p) : p 차원 n개의 데이터 입력
Returns (n*, p*): dense 연산 결과
"""
x = operations_matrix.matrix_multiply(inputs, self.weights)
if self.bias is not None:
x = operations_matrix.matrix_add(x, np.tile(self.bias, x.shape))
if self.activation is not None:
x = self.activation(x)
return x