1. 개념
TensorFlow는 Google Brain 팀에서 개발한 오픈소스 머신러닝 및 딥러닝 프레임워크입니다.
- 대규모 모델 훈련과 배포에 최적화되어 있어 기업과 산업에서 많이 사용됩니다.
- TensorFlow 2.x에서는 Keras와 통합되면서 코드가 직관적으로 개선되었습니다.
- 모바일, 웹, 클라우드, TPU 지원 등 다양한 환경에서 활용할 수 있습니다.
2. 특징
(1) 정적 & 동적 연산 그래프 지원
- TensorFlow 1.x는 정적 그래프(Static Graph)를 사용하여 실행 속도가 빠르지만 코드가 복잡했습니다.
- TensorFlow 2.x에서는 PyTorch처럼 동적 그래프(Eager Execution)를 기본 지원하여 사용성이 개선되었습니다.
- 필요에 따라 정적 그래프(tf.function)도 사용할 수 있어 최적화된 모델 실행이 가능합니다.
(2) 높은 확장성과 배포 지원
- TensorFlow Serving: REST API로 모델을 쉽게 배포
- TensorFlow Lite: 모바일 및 IoT 장치에서 실행 가능
- TensorFlow.js: 웹 브라우저에서 모델 실행 가능
(3) GPU 및 TPU 최적화 지원
- CUDA와 cuDNN을 활용한 GPU 가속 지원
- Google의 **TPU(Tensor Processing Unit)**를 사용하여 빠른 모델 학습 가능
(4) 다양한 고급 API 지원
- tf.keras: 직관적인 고수준 API (TensorFlow 2.x의 기본 딥러닝 API)
- tf.data: 대용량 데이터 전처리를 위한 파이프라인 제공
- tf.function: 모델을 정적 그래프로 변환하여 속도 최적화
3. 기본 코드 예제
(1) 텐서 생성 및 기본 연산
import tensorflow as tf
# 랜덤 텐서 생성
x = tf.random.normal([3, 3])
y = tf.random.normal([3, 3])
# 기본 연산
print(tf.add(x, y)) # 덧셈
print(tf.multiply(x, y)) # 곱셈 (element-wise)
print(tf.linalg.matmul(x, y)) # 행렬 곱
(2) 자동 미분 (GradientTape)
# 변수 선언
x = tf.Variable(3.0)
with tf.GradientTape() as tape:
y = x**2 + 2*x + 1 # 간단한 함수
# 미분 계산
dy_dx = tape.gradient(y, x)
print(dy_dx.numpy()) # 결과: 8.0
(3) 신경망 모델 정의
import tensorflow as tf
from tensorflow import keras
from tensorflow.keras import layers
# 신경망 모델 정의
model = keras.Sequential([
layers.Dense(10, activation='relu', input_shape=(20,)),
layers.Dense(5, activation='softmax')
])
# 모델 컴파일
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
# 모델 요약
model.summary()
4. 텐서플로우의 주요 활용 사례
딥러닝 연구 | 최신 모델 개발 및 실험 |
컴퓨터 비전 (CV) | 이미지 분류, 객체 탐지 (TensorFlow Object Detection API) |
자연어 처리 (NLP) | 번역, 텍스트 요약, 챗봇 (TensorFlow Text) |
강화 학습 (RL) | AlphaGo, 로보틱스 (TF-Agents) |
생성 모델 (GAN, Diffusion) | DeepFake, 이미지 생성 |
생물정보학, 헬스케어 | 단백질 구조 예측, 신약 개발 |
기업 및 배포 환경 | TensorFlow Serving, TFLite, TF.js를 통한 상용화 |
'Study > AI' 카테고리의 다른 글
[AI] 'LLM 애플리케이션 경험 공유회' 리뷰 (2) | 2025.03.17 |
---|---|
[AI] TensorFlow의 NLP 활용: GPT & Hugging Face 연동 (4) | 2025.03.13 |
[AI] PyTorch의 NLP 활용: GPT와 Hugging Face 연동 (2) | 2025.03.13 |
[AI] 파이토치(PyTorch) (2) | 2025.03.13 |
[AI] OWASP TOP 10 LLM 애플리케이션 취약점 (2) | 2025.02.18 |