TensorFlow는 Google이 제공하는 머신러닝 프레임워크입니다. 오픈소스 기반으로 Python과 함께 사용되어 다양한 알고리즘, 딥러닝 애플리케이션 등을 구현할 수 있으며, 연구 목적과 실제 프로덕션 환경 모두에서 널리 활용됩니다.
'tensorflow' 패키지는 Windows 환경에서 아래 명령어 한 줄로 간단히 설치할 수 있습니다.
pip install tensorflow
텐서(Tensor)란 무엇인가?
텐서는 TensorFlow에서 사용되는 핵심 데이터 구조입니다. 플로우 다이어그램의 엣지(edge)들을 연결하는 역할을 하며, 이러한 다이어그램을 '데이터 플로우 그래프(Data flow graph)'라고 부릅니다. 텐서는 본질적으로 다차원 배열 또는 리스트이며, 다음 세 가지 주요 속성으로 식별할 수 있습니다.
랭크(Rank) - 텐서의 차원 수를 나타냅니다. 텐서의 차수(order) 또는 정의된 텐서가 가진 차원의 개수로 이해할 수 있습니다.
타입(Type) - 텐서 요소에 연관된 데이터 타입을 의미합니다. 1차원, 2차원 또는 n차원 텐서일 수 있습니다.
쉐이프(Shape) - 행과 열의 개수를 함께 나타냅니다.
회귀 문제와 Auto MPG 데이터셋
회귀(regression) 문제의 목표는 가격, 확률, 비 오는 여부 등 연속형 또는 이산형 변수의 출력값을 예측하는 것입니다. 여기서 사용하는 데이터셋은 'Auto MPG' 데이터셋으로, 1970년대와 1980년대 자동차들의 연비 정보를 담고 있습니다. 무게(weight), 마력(horsepower), 배기량(displacement) 같은 특성들이 포함되어 있으며, 이를 바탕으로 특정 자동차의 연비를 예측해야 합니다.
아래 코드는 Google Colaboratory에서 실행합니다. Google Colab은 브라우저에서 Python 코드를 실행할 수 있게 해주며, 별도의 설정이 필요 없고 GPU(그래픽 처리 장치)를 무료로 사용할 수 있다는 장점이 있습니다. Colaboratory는 Jupyter Notebook을 기반으로 만들어졌습니다.
예제 코드
def build_compile_model(norm):
model = keras.Sequential([
norm,
layers.Dense(64, activation='relu'),
layers.Dense(64, activation='relu'),
layers.Dense(1)
])
model.compile(loss='mean_absolute_error',
optimizer=tf.keras.optimizers.Adam(0.001))
return model
print("모델을 빌드하고 컴파일합니다")
dnn_horsepower_model = build_compile_model(horsepower_normalizer)
print("통계 요약 정보를 계산합니다")
dnn_horsepower_model.summary()코드 출처 - https://www.tensorflow.org/tutorials/keras/regression
출력 결과

코드 설명
'build_compile_model'이라는 이름의 함수를 정의하여 순차(Sequential) 모델을 빌드하고 세 개의 Dense 레이어를 생성합니다.
생성된 모델은 컴파일된 후 함수의 반환값으로 리턴됩니다.
'summary' 메서드를 호출하여 모델의 통계 분석 결과를 콘솔에 출력합니다.