bskyvision RSS 태그 관리 글쓰기 방명록
2020-06-09 14:30:53
728x90

텐서플로와 케라스를 이용해서 CNN 구조를 만들기 위해 컨볼루션 레이어를 추가할때, 대개 컨볼루션 함수를 활성화와 함께 한 줄의 코드로 작성해줍니다. 다음과 같이 말이죠. 

 

model.add(layers.Conv2D(32, (3, 3), activation='relu'))

 

그런데 종종 필요에 의해 컨볼루션과 활성화를 분리해서 진행해야 하는 경우도 있습니다. 그런 경우에는 다음과 같이 코드를 분리해줄 수 있습니다. 위 코드와 완전히 동일한 일을 해줍니다. 

 

model.add(layers.Conv2D(32, (3, 3)))
model.add(layers.Activation(activation='relu'))  

 

FC(Fully connected) 레이어를 만들때도 마찬가지로 활성화를 따로 빼낼 수 있습니다. 

 

model.add(layers.Dense(64, activation='relu'))

 

이렇게 쓰나,

 

model.add(layers.Dense(64))
model.add(layers.Activation(activation='relu'))

 

이렇게 코딩하나 똑같습니다. 

 

 

<참고자료>

[1] https://keras.io/api/layers/activations/, Keras, "Layer activation fuctions"

댓글

방문해주신 모든 분들을 환영합니다.

* 글을 읽던 중에 궁금했던 부분은 질문해주세요.

* 칭찬, 지적, 의문, 격려, 감사표현 등을 남겨주세요.

* 최대한 답변 드리도록 노력하겠습니다.

* 욕설과 광고를 담은 댓글은 가차없이 삭제합니다.


  1. 킹반인@2020.06.09 15:26 ~$ 궁금한건데 주로 영상인식에는 어느 알고리즘 활용하시나요? VGG16쓰시나요 아니면 Resnet34 스시나요? 혹시 그 두가지 장단점에 대해서도 알고 계신가요? [댓글주소]  [수정/삭제]  [답글작성]
guest@이름 ~$
guest@패스워드 ~$
guest@홈페이지주소작성 ~$

guest@댓글작성 ~$




bskyvision. Designed by bskyvision.