TensorFlow는 Google이 제공하는 머신러닝 프레임워크입니다. 오픈소스 기반으로 개발되어 Python과 함께 사용되며, 알고리즘 구현과 딥러닝 애플리케이션 개발 등 다양한 용도로 활용됩니다. 연구 목적과 상용 서비스 모두에서 널리 쓰이고 있으며, 복잡한 수학 연산을 빠르게 처리할 수 있는 최적화 기법들을 갖추고 있습니다.
TensorFlow가 빠른 이유는 NumPy와 다차원 배열을 활용하기 때문입니다. 이 다차원 배열을 바로 '텐서(tensor)'라고 부릅니다. TensorFlow는 딥러닝 신경망 작업을 지원하며, 뛰어난 확장성을 자랑하고 다양한 인기 데이터셋을 함께 제공합니다. GPU 연산을 지원하고 리소스 관리를 자동화해 주며, 방대한 머신러닝 라이브러리와 함께 잘 정리된 문서를 제공합니다. 이 프레임워크로 딥러닝 신경망 모델을 실행하고 학습시켜, 데이터셋의 특성을 예측하는 애플리케이션을 만들 수 있습니다.
TensorFlow 설치
Windows 환경에서 'tensorflow' 패키지는 아래 명령어 한 줄로 설치할 수 있습니다.
pip install tensorflow
텐서란 무엇인가?
텐서는 TensorFlow에서 사용되는 핵심 데이터 구조입니다. 텐서는 데이터 흐름 그래프의 노드와 노드를 연결하는 역할을 하며, 이 그래프를 '데이터 플로우 그래프(Data Flow Graph)'라고 부릅니다. 텐서는 결국 다차원 배열 또는 리스트에 불과하며, 세 가지 주요 속성으로 식별할 수 있습니다.
- Rank(랭크)
텐서의 차원 수를 나타냅니다. 텐서의 차수(order) 또는 정의된 텐서가 몇 개의 차원을 가지는지로 이해할 수 있습니다. - Type(타입)
텐서 요소에 연관된 데이터 타입을 나타냅니다. 1차원, 2차원 또는 n차원 텐서일 수 있습니다. - Shape(형상)
텐서의 행과 열의 개수를 함께 나타낸 값입니다.
TensorFlow의 'Hello World'
이제 TensorFlow의 'hello world' 예제를 살펴보겠습니다. 여기서는 Jupyter Notebook에서 코드를 실행하며, 역시 'pip install tensorflow' 명령어로 설치할 수 있습니다.
예제 코드
import tensorflow as tf
hello = tf.constant("hello there")
print(hello)
print(hello.numpy())
실행 결과
tf.Tensor(b'hello there', shape=(), dtype=string)
b'hello there'
코드 설명
- 필요한 패키지를 임포트하고 사용 편의성을 위해 별칭(alias)을 지정합니다.
- tensorflow 패키지의 constant 함수로 상수 값을 생성하여 변수에 할당합니다.
- 생성된 변수를 콘솔에 출력합니다.
- NumPy 패키지의 도움으로 텐서의 실제 값을 확인합니다.
출력 결과를 보면 첫 번째 print 문은 텐서 객체의 정보(shape, dtype 등)를 보여주고, 두 번째 print 문은 .numpy() 메서드를 통해 문자열의 실제 바이트 값을 반환합니다. 이처럼 간단한 코드만으로도 TensorFlow에서 텐서를 생성하고 데이터를 다루는 기본기를 익힐 수 있습니다.