본문 바로가기

ml_framework

Sequential(3)

fit 함수에서 각 레이어의 연산 이후 받은 hidden_input, output 의 값을 저장한다.

해당 layer 의 어떤 방식으로 저장할지?

 

self.layer[layer_num] 은 딕셔너리 객체, Dense 층에서 전달해줄 수 있겠다

  # train Dense
  def train(self, dict, train):
    hidden_node = dict['hidden_node']

    # 가중치의 임의 생성, 입력, 은닉 노드의 개수에 따라 가중치가 생성된다.
    weight = np.random.rand(train.shape[1], hidden_node)

    #편향값의 임의 생성, 동일한 편향 값을 사용한다.
    bias = np.random.rand(1)

    # 가중치 값 저장
    self.Dense_dict['weight'] = weight

    # 편향 값 저장
    self.Dense_dict['bias'] = bias

    #가중치와 노드 출력의 행렬곱연산, 편향값 덧셈
    hidden_input = weight @ train + bias

    if(dict['activation'] == 'sigmoid'):
      #노드 입력과 활성화 함수 연산을 통한 노드 출력 계산
      # cnn 에선 0과 1 사이의 결과를 출력해야 하기 때문에 시그모이드 활성화 함수를 사용
      hidden_output = self.activation.sigmoid(hidden_input)

    dict['hidden_input'] = hidden_input
    dict['hidden_output'] = hidden_output

 

'ml_framework' 카테고리의 다른 글

fit(loss)  (0) 2023.04.23
fit(dense)  (0) 2023.04.23
Sequential(2)  (0) 2023.04.22
Dense(2)  (0) 2023.04.20
Sequential  (0) 2023.04.19