TensorFlow는 Google에서 제공하는 머신러닝 프레임워크입니다. 오픈소스로 공개된 이 프레임워크는 Python과 함께 사용되어 알고리즘 구현, 딥러닝 애플리케이션 개발 등 다양한 용도로 활용되며, 연구 목적뿐 아니라 실제 프로덕션 환경에서도 널리 쓰입니다. 복잡한 수학 연산을 빠르게 수행할 수 있는 최적화 기법을 내장하고 있다는 점이 큰 장점입니다.
이는 TensorFlow가 NumPy와 다차원 배열을 활용하기 때문인데, 이러한 다차원 배열을 흔히 '텐서(tensor)'라고 부릅니다. TensorFlow는 심층 신경망(deep neural network) 작업을 완벽하게 지원하며, 뛰어난 확장성을 바탕으로 수많은 인기 데이터셋을 함께 제공합니다. GPU 연산을 활용하고 리소스 관리를 자동화할 수 있으며, 다양한 머신러닝 라이브러리를 포함하고 있어 지원과 문서화도 잘 되어 있습니다. 덕분에 심층 신경망 모델을 실행하고 학습시키며, 데이터셋의 관련 특성을 예측하는 애플리케이션까지 손쉽게 만들 수 있습니다.
TensorFlow 설치하기
'tensorflow' 패키지는 Windows 환경에서 아래 코드 한 줄로 설치할 수 있습니다.
pip install tensorflow
Keras란?
Keras는 ONEIROS(Open-ended Neuro-Electronic Intelligent Robot Operating System) 프로젝트의 연구 과정에서 개발된 것으로, Python으로 작성된 딥러닝 API입니다. 머신러닝 문제 해결에 도움을 주는 생산성 높은 인터페이스를 갖춘 고수준(high-level) API로, 확장성이 뛰어나며 크로스 플랫폼을 지원합니다. 즉, TPU나 GPU 클러스터에서 실행할 수 있고, Keras 모델은 웹 브라우저나 모바일 기기에서도 동작하도록 내보낼 수 있습니다.
Keras는 이미 TensorFlow 패키지 안에 포함되어 있으므로, 아래 코드만으로 간단히 불러와 사용할 수 있습니다.
import tensorflow
from tensorflow import keras
여기서는 Google Colaboratory 환경에서 코드를 실행합니다. Google Colab은 브라우저에서 바로 Python 코드를 실행할 수 있게 해주며, 별도의 설정이 전혀 필요 없고 GPU(그래픽 처리 장치)에도 무료로 접근할 수 있습니다. Colaboratory는 Jupyter Notebook을 기반으로 구축되었습니다.
예제: StackOverflow 태그 예측 데이터셋 다운로드
다음은 Python으로 StackOverflow 질문의 태그를 예측하기 위한 데이터셋을 다운로드하고 탐색하는 코드입니다.
print("Downloading tensorflow-text")
!pip -q install tensorflow-text
import collections
import pathlib
import re
import string
import tensorflow as tf
from tensorflow.keras import layers
from tensorflow.keras import losses
from tensorflow.keras import preprocessing
from tensorflow.keras import utils
from tensorflow.keras.layers.experimental.preprocessing import TextVectorization
import tensorflow_datasets as tfds
import tensorflow_text as tf_text
data_url = 'https://storage.googleapis.com/download.tensorflow.org/data/stack_overflow_16k.tar.gz'
dataset = utils.get_file(
'stack_overflow_16k.tar.gz',
data_url,
untar=True,
cache_dir='stack_overflow',
cache_subdir='')
dataset_dir = pathlib.Path(dataset).parent코드 출처 − https://www.tensorflow.org/tutorials/load_data/text
실행 결과
Downloading tensorflow-text
Downloading data from
https://storage.googleapis.com/download.tensorflow.org/data/stack_overflow_16k.tar.gz
6053888/6053168 [==============================] - 0s 0us/step
코드 설명
필요한 패키지들을 임포트(import)합니다.
utils.get_file() 메서드를 통해 API에서 데이터셋 파일을 다운로드하고 압축을 해제합니다.