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

TensorFlow를 활용해 Python에서 특성 열(Feature Columns)을 정의하는 방법


TensorFlow를 활용하면 빈 리스트를 생성한 뒤 훈련 데이터셋의 'key' 값에 접근하고 이를 순회(iteration)하는 방식으로 Estimator 모델의 특성 열(feature column)을 정의할 수 있습니다. 순회 과정에서 각 특성 이름이 빈 리스트에 하나씩 추가됩니다.

함께 읽으면 좋은 글:
TensorFlow란 무엇이며, Keras는 TensorFlow와 어떻게 연동되어 신경망을 구축할까요?

이번 튜토리얼에서는 Keras Sequential API를 사용합니다. Sequential API는 레이어를 순서대로 쌓아 올리는 단순한 구조의 모델을 만들 때 유용하며, 이때 각 레이어는 정확히 하나의 입력 텐서와 하나의 출력 텐서를 가집니다.

최소 한 개 이상의 합성곱(convolutional) 레이어를 포함하는 신경망을 합성곱 신경망(CNN)이라고 부르며, 이를 활용해 학습 모델을 구축할 수 있습니다.

TensorFlow Text는 TensorFlow 2.0과 함께 사용할 수 있는 텍스트 관련 클래스와 연산(op)들의 모음입니다. 시퀀스 모델링을 위한 전처리 작업에도 활용됩니다.

본 예제 코드는 Google Colaboratory 환경에서 실행됩니다. Google Colab은 브라우저에서 바로 Python 코드를 실행할 수 있게 해주며, 별도의 설정이 필요 없고 GPU(그래픽 처리 장치)를 무료로 사용할 수 있다는 장점이 있습니다. Colaboratory는 Jupyter Notebook을 기반으로 만들어졌습니다.

Estimator는 완전한 모델을 추상화한 TensorFlow의 고수준(high-level) 인터페이스입니다. 손쉬운 확장성(scaling)과 비동기 학습(asynchronous training)을 지원하도록 설계되었습니다.

예제 코드

print("Building list of feature columns for estimator model")
my_feature_columns = []
for key in train.keys():
    my_feature_columns.append(tf.feature_column.numeric_column(key=key))

코드 출처 − https://www.tensorflow.org/tutorials/estimator/premade#first_things_first

실행 결과

Building list of feature columns for estimator model

설명

  • 특성 열(feature column)은 모델이 특성 딕셔너리(features dictionary)에 담긴 원시 입력 데이터를 어떻게 사용해야 하는지 기술합니다. Estimator 모델을 생성할 때 이러한 특성 열 목록이 모델에 전달됩니다.

  • 특성 열은 모델이 사용해야 할 각각의 특성을 구체적으로 서술합니다.

  • tf.feature_column 모듈은 데이터를 모델에 표현하는 다양한 옵션을 제공합니다.

  • 여기서는 네 가지 특성을 각각 32비트 부동소수점(float32) 값으로 표현하도록 Estimator 모델에 지시하기 위해 특성 열 목록을 구성했습니다.