Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Keras에서 모델 레이어 제거하기: pop() 함수 활용 가이드

TensorFlow는 Google이 제공하는 머신러닝 프레임워크입니다. 오픈소스 프레임워크로, Python과 함께 사용하여 다양한 알고리즘과 딥러닝 애플리케이션을 구현할 수 있습니다. 연구 목적과 실제 프로덕션 환경 모두에서 널리 활용되고 있습니다.

Keras는 ONEIROS(개방형 신경-전자 지능형 로봇 운영체제) 프로젝트의 연구 과정에서 개발된 딥러닝 API입니다. Python으로 작성되었으며, 머신러닝 문제 해결에 도움을 주는 생산적인 인터페이스를 갖춘 고수준(high-level) API입니다.

Keras의 특징

Keras는 뛰어난 확장성을 자랑하며 크로스 플랫폼 기능을 지원합니다. 이는 TPU나 GPU 클러스터에서도 Keras를 실행할 수 있다는 의미입니다. 또한 Keras 모델은 웹 브라우저나 모바일 기기에서 실행되도록 내보내기(export)할 수도 있습니다.

Keras는 TensorFlow 패키지에 이미 포함되어 있으며, 아래 코드 한 줄로 손쉽게 불러올 수 있습니다.

import tensorflow
from tensorflow import keras

실행 환경

본 예제는 Google Colaboratory(Colab)에서 실행됩니다. Google Colab은 브라우저에서 Python 코드를 실행할 수 있게 해주며, 별도의 설정 없이 무료로 GPU에 접근할 수 있습니다. Colaboratory는 Jupyter Notebook을 기반으로 구축되었습니다.

레이어 제거 코드 예제

모델에서 레이어를 제거하는 코드는 다음과 같습니다.

print("pop 함수를 사용하여 레이어 제거")
model.pop()
print("레이어 하나를 삭제한 후 현재 모델의 레이어 개수")
print(len(model.layers))

코드 출처 — https://www.tensorflow.org/guide/keras/sequential_model

실행 결과

pop 함수를 사용하여 레이어 제거
레이어 하나를 삭제한 후 현재 모델의 레이어 개수
2

코드 설명

  • 'pop' 함수는 모델 이름과 마침표(.) 연산자를 연결하여 호출할 수 있습니다.

  • 함수가 실행되면 len()을 통해 모델의 레이어 길이를 확인할 수 있습니다.

  • 이를 통해 레이어가 실제로 하나 삭제되었는지 검증할 수 있습니다.

참고로 pop() 메서드는 항상 모델의 마지막 레이어를 제거하며, Sequential 모델의 레이어 구조를 동적으로 조정할 때 유용하게 활용됩니다.