TensorFlow란 무엇인가?
TensorFlow는 구글(Google)이 제공하는 머신러닝 프레임워크입니다. 오픈소스로 공개되어 있으며, 파이썬과 함께 사용하여 다양한 알고리즘, 딥러닝 애플리케이션 등을 구현할 수 있습니다. 연구 목적과 실제 프로덕션 환경 모두에서 널리 활용되고 있으며, 복잡한 수학적 연산을 빠르게 수행할 수 있도록 돕는 최적화 기법들을 갖추고 있습니다.
TensorFlow가 고성능을 낼 수 있는 이유는 NumPy와 다차원 배열을 기반으로 작동하기 때문입니다. 이러한 다차원 배열을 '텐서(Tensor)'라고 부릅니다. TensorFlow 프레임워크는 딥러닝 신경망 작업을 지원하며, 뛰어난 확장성을 자랑합니다. 또한 인기 있는 데이터셋이 다수 포함되어 있고, GPU 연산을 활용하며 리소스 관리를 자동화합니다. 다양한 머신러닝 라이브러리를 제공하고 문서화가 잘 되어 있어 학습하기에도 좋은 환경을 제공합니다.
TensorFlow를 사용하면 딥러닝 신경망 모델을 실행하고 학습시킬 수 있으며, 데이터셋의 특징을 예측하는 애플리케이션까지 만들 수 있습니다.
TensorFlow 설치 방법
Windows 환경에서는 아래 명령어 한 줄로 'tensorflow' 패키지를 설치할 수 있습니다.
pip install tensorflow
텐서(Tensor)는 TensorFlow에서 사용되는 데이터 구조입니다. 데이터 흐름 그래프의 엣지(Edge)를 연결하는 역할을 하며, 이 흐름도를 '데이터 흐름 그래프(Data Flow Graph)'라고 합니다. 텐서는 결국 다차원 배열 또는 리스트라고 생각하면 됩니다.
본 예제 코드는 Jupyter Notebook에서 실행됩니다. Jupyter Notebook에도 위와 같이 'pip install tensorflow' 명령어를 통해 TensorFlow를 손쉽게 설치할 수 있습니다.
예제 코드
import tensorflow as tf
import numpy as np
matrix_1 = np.array([(1,2,3),(3,2,1),(1,1,1)],dtype = 'int32')
matrix_2 = np.array([(0,0,0),(-1,0,1),(3,3,4)],dtype = 'int32')
print("첫 번째 행렬은")
print (matrix_1)
print("두 번째 행렬은")
print (matrix_2)
print("곱셈 결과는")
matrix_1 = tf.constant(matrix_1)
matrix_2 = tf.constant(matrix_2)
matrix_prod = tf.matmul(matrix_1, matrix_2)
print((matrix_prod))실행 결과
첫 번째 행렬은 [[1 2 3] [3 2 1] [1 1 1]] 두 번째 행렬은 [[ 0 0 0] [-1 0 1] [ 3 3 4]] 곱셈 결과는 tf.Tensor( [[ 7 9 14] [ 1 3 6] [ 2 3 5]], shape=(3, 3), dtype=int32)
코드 설명
필요한 패키지를 임포트하고, 사용 편의를 위해 별칭(alias)을 지정합니다.
NumPy 패키지를 사용하여 두 개의 행렬을 생성합니다.
NumPy 배열 형태의 행렬을 TensorFlow 상수(constant) 값으로 변환합니다.
TensorFlow의 'matmul' 함수를 사용하여 두 행렬의 곱을 계산합니다.
계산된 결과 행렬을 콘솔에 출력합니다.