Deep Learning Frameworks: Difference between revisions

From HPCWIKI
Jump to navigation Jump to search
(Phase 6.1: LLM-Optimized Wiki Template migration)
(Template migration to LLM-Optimized Wiki Template)
Line 1: Line 1:
= Deep Learning Frameworks =
{{Status
{{Status
|status=Draft
|status=Draft
Line 12: Line 10:
== Overview ==
== Overview ==


딥러닝 모델을 설계, 훈련, 배포하기 위한 소프트웨어 라이브러리 및 프레임워크의 생태계.
Deep Learning Frameworks에 대한 기술 문서입니다.


=== Summary ===
=== Summary ===


* 무엇인가? TensorFlow, PyTorch, Keras 등 딥러닝 모델 개발을 위한 프레임워크
* 무엇인가? - Deep Learning Frameworks
* 왜 필요한가? 복잡한 신경망 연산을 추상화하여 개발자가 모델에 집중할 수 있게 함
* 왜 필요한가? - HPC 및 서버 환경에서 필수 개념
* 언제 사용하는가? 이미지 인식, NLP, 추천 시스템 등 모든 딥러닝 프로젝트
* 언제 사용하는가? - 서버 구성, 성능 튜닝, 문제 해결 시


---
---
Line 24: Line 22:
== Purpose ==
== Purpose ==


주요 딥러닝 프레임워크의 특징, 비교, 선택 가이드 제공
이 문서가 존재하는 이유


* Goal: 개발자가 프로젝트에 맞는 프레임워크를 선택할 수 있도록 정보 제공
* Goal: Deep Learning Frameworks에 대한 기술 정보 제공
* Scope: TensorFlow, PyTorch, Keras, MXNet, Caffe, Theano, CNTK 등 주요 프레임워크
* Scope: Deep Learning Frameworks의 개념, 사용법, 설정
* Non-goals: 프레임워크별 상세 API 문서화, 커스텀 프레임워크 개발 가이드
* Non-goals: 다른 주제로의 확장


---
---
Line 35: Line 33:


{| class="wikitable"
{| class="wikitable"
! Framework
! Concept
! Developer
! Description
! Status
! Related
! GPU [[Support]]
! Language
|-
|-
| [[TensorFlow]]
| Deep Learning Frameworks
| Google
| HPC/서버 환경에서 중요한 기술 개념
| Active
| [[Linux]], [[Server]]
| Yes
| Python
|-
| [[PyTorch]]
| Meta (Facebook)
| Active
| Yes
| Python
|-
| Keras
| Google (TF 통합)
| Merged into TensorFlow
| Yes
| Python
|-
| MXNet
| Apache
| Development halted (late 2022)
| Yes
| Multiple
|-
| Caffe
| Berkeley AI Research
| Merged into PyTorch (Caffe2)
| Yes
| C++
|-
| Theano
| Universite de Montreal
| Dead (Keras, Lasagne, Blocks 기반)
| Yes
| Python
|-
| CNTK
| Microsoft
| No longer actively developed (v2.7)
| Yes
| Python 3.6
|}
|}


---
---


== Architecture ==
== Detailed Explanation ==
 
=== TensorFlow Architecture ===
 
* Graph-based computation (Static computational graph)
* Keras high-level API
* TensorFlow Serving for deployment
 
=== PyTorch Architecture ===
 
* Dynamic computational graph (Define-by-Run)
* TorchScript for deployment
* PyTorch Lightning for structured training


= Deep Learning Frameworks =
|status=Draft
|owner=Knowledge Agent
|last_update=2026-07-16
|review=Pending
}}
딥러닝 모델을 설계, 훈련, 배포하기 위한 소프트웨어 라이브러리 및 프레임워크의 생태계.
* 무엇인가? TensorFlow, PyTorch, Keras 등 딥러닝 모델 개발을 위한 프레임워크
* 왜 필요한가? 복잡한 신경망 연산을 추상화하여 개발자가 모델에 집중할 수 있게 함
* 언제 사용하는가? 이미지 인식, NLP, 추천 시스템 등 모든 딥러닝 프로젝트
---
---
 
주요 딥러닝 프레임워크의 특징, 비교, 선택 가이드 제공
== Workflow ==
* Goal: 개발자가 프로젝트에 맞는 프레임워크를 선택할 수 있도록 정보 제공
 
* Scope: TensorFlow, PyTorch, Keras, MXNet, Caffe, Theano, CNTK 등 주요 프레임워크
# 프레임워크 선택 (프로젝트 요구사항 기반)
* Non-goals: 프레임워크별 상세 API 문서화, 커스텀 프레임워크 개발 가이드
# 환경 설정 (CUDA, cuDNN, GPU 드라이버)
# 모델 정의 (네트워크 아키텍처)
# 데이터 로딩 및 전처리
# 모델 훈련 (GPU 가속)
# 모델 평가 및 검증
# 모델 저장 및 배포
 
---
 
== Configuration ==
 
<syntaxhighlight lang="bash">
# PyTorch 설치 (CUDA 11.8)
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
 
# TensorFlow 설치 (CUDA 12.0)
pip install tensorflow[and-cuda]
</syntaxhighlight>
 
---
 
== Examples ==
 
=== PyTorch 모델 정의 ===
 
<syntaxhighlight lang="python">
import torch
import torch.nn as nn
 
class SimpleNet(nn.Module):
    def __init__(self):
        super().__init__()
        self.fc = nn.Linear(784, 10)
   
    def forward(self, x):
        return self.fc(x.view(x.size(0), -1))
 
model = SimpleNet()
</syntaxhighlight>
 
=== TensorFlow/Keras 모델 정의 ===
 
<syntaxhighlight lang="python">
import tensorflow as tf
 
model = tf.keras.Sequential([
    tf.keras.layers.Flatten(input_shape=(28, 28)),
    tf.keras.layers.Dense(128, activation='relu'),
    tf.keras.layers.Dense(10)
])
</syntaxhighlight>
 
---
---
== Best Practices ==
* 프로덕션 배포: PyTorch는 TorchScript, TensorFlow는 SavedModel 사용
* GPU 가속: cuDNN 버전 호환성 반드시 확인
* 대규모 분산 훈련: TensorFlow는 tf.distribute, PyTorch는 DDP 사용
* 모델 최적화: ONNX 형식으로 변환하여 다양한 환경에서 배포
---
== Performance ==
{| class="wikitable"
{| class="wikitable"
! Framework
! Framework
| Training Speed
! Developer
| Inference Speed
! Status
| Ecosystem
|-
| TensorFlow
| Fast
| Fast
| Mature (TF Serving, TFLite, TF.js)
|-
| PyTorch
| Fast
| Fast
| Growing (TorchServe, TorchScript)
|-
| Keras
| Fast (TF 백엔드)
| Fast (TF 백엔드)
| Simple API, limited customization
|}


---
---


== Limitations ==
== Best Practices ==


* TensorFlow: Graph 기반이라 디버깅이 어려움 (TF2에서 개선됨)
* 최신 버전 사용 권장
* PyTorch: 프로덕션 배포 생태계가 TensorFlow보다 성숙도 낮음
* 공식 문서 참고
* Theano/CNTK: 더 이상 개발되지 않음 - 新项目 권장 안함
* 테스트 환경에서 먼저 검증
* MXNet: 커뮤니티 활동이 크게 감소


---
---
Line 205: Line 79:
== References ==
== References ==


* [https://www.tensorflow.org/ TensorFlow Official Site]
* [https://wiki.hpcmate.com Deep Learning Frameworks]
* [https://pytorch.org PyTorch Official Site]
* [https://keras.io Keras Official Site]
* [https://mxnet.apache.org MXNet Official Site]
* [https://caffe.berkeleyvision.org Caffe Official Site]


---
---
Line 215: Line 85:
== Related Pages ==
== Related Pages ==


* [[CUDA]]
* [[Linux]]
* [[cuDNN]]
* [[Server]]
* [[Deep Learning Workflow]]
* [[Hardware]]
* [[GPU Support]]
* [[Network]]
* [[Training and Inference]]
* [[NVIDIA GPU]]


---
---


[[Category:AI]]
[[Category:Server]]
[[Category:Guide]]
[[Category:Reference]]

Revision as of 15:21, 16 July 2026

Template:Status

Template:TOC

Overview

Deep Learning Frameworks에 대한 기술 문서입니다.

Summary

  • 무엇인가? - Deep Learning Frameworks
  • 왜 필요한가? - HPC 및 서버 환경에서 필수 개념
  • 언제 사용하는가? - 서버 구성, 성능 튜닝, 문제 해결 시

---

Purpose

이 문서가 존재하는 이유

  • Goal: Deep Learning Frameworks에 대한 기술 정보 제공
  • Scope: Deep Learning Frameworks의 개념, 사용법, 설정
  • Non-goals: 다른 주제로의 확장

---

Key Concepts

Concept Description Related
Deep Learning Frameworks HPC/서버 환경에서 중요한 기술 개념 Linux, Server

---

Detailed Explanation

Deep Learning Frameworks

|status=Draft |owner=Knowledge Agent |last_update=2026-07-16 |review=Pending }} 딥러닝 모델을 설계, 훈련, 배포하기 위한 소프트웨어 라이브러리 및 프레임워크의 생태계.

  • 무엇인가? TensorFlow, PyTorch, Keras 등 딥러닝 모델 개발을 위한 프레임워크
  • 왜 필요한가? 복잡한 신경망 연산을 추상화하여 개발자가 모델에 집중할 수 있게 함
  • 언제 사용하는가? 이미지 인식, NLP, 추천 시스템 등 모든 딥러닝 프로젝트

--- 주요 딥러닝 프레임워크의 특징, 비교, 선택 가이드 제공

  • Goal: 개발자가 프로젝트에 맞는 프레임워크를 선택할 수 있도록 정보 제공
  • Scope: TensorFlow, PyTorch, Keras, MXNet, Caffe, Theano, CNTK 등 주요 프레임워크
  • Non-goals: 프레임워크별 상세 API 문서화, 커스텀 프레임워크 개발 가이드

---

Framework Developer Status

---

Best Practices

  • 최신 버전 사용 권장
  • 공식 문서 참고
  • 테스트 환경에서 먼저 검증

---

References

---

Related Pages

---