텐서플로와 케라스를 이용해서 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"
'Dev > python' 카테고리의 다른 글
[python] 뽀로로 친구들을 검출해보자(Tensorflow object detection API) (0) | 2020.06.19 |
---|---|
[python] 다른 파일에 있는 함수를 가져와서 사용하려면? (0) | 2020.06.18 |
[python] 메모리 에러 해결법(MemoryError: Unable to allocate ## for an array with shape ## and data type ##) (7) | 2020.06.10 |
[python] tensorflow에서 GPU 사용가능 여부 확인하기(+ 실제로 얼마나 빠른지 확인) (9) | 2020.06.09 |
[python] KeyError: 'mae' 또는 KeyError: 'acc'를 만났을 때 해결방법 (0) | 2020.06.06 |
[python] 파이썬 유용한 내장 함수들 10개 정리 (0) | 2020.05.23 |
[python] 함수(function)와 메서드(method)의 차이, 간단 설명 (0) | 2020.05.22 |
[python] 디렉토리 내 파일 목록 읽기 (0) | 2020.04.27 |