1. 딥러닝 프레임워크
1) 딥러닝 프레임워크란 ?
앞전 게시물에서 딥러닝에 대해 알아보았는데, 이 딥러닝을 수행하는 사람이라면 딥러닝 프레임워크를 선택하는 것부터 출발한다. 딥러닝 프레임워크란 , 딥러닝 모델을 설계/학습/평가/배포하는 데 필요한 도구와 API를 제공하는 소프트웨어이다. 저수준 수치연산부터 모델 구성요, 학습 루프, 데이터 로더 등등 딥러닝을 수행하는데 필요한 도구들을 거의 다 가지고 있어서 개발자가 중복적인 구현을 할 필요 없이 프레임워크에서 해당 기능에 필요한 작업을 수행하게 된다. 대표적인 딥러닝 프레임워크에는 PyTorch와 TensorFlow가 있는데, 두 프레임워크의 장점에 따라서 어떠한 상황에 어떤 프레임워크를 쓸지 결정하게 된다.
2) TensorFlow

- Google에서 개발한 오픈소스 딥러닝 프레임워크
- 확장성, 배포 기능 강력(서버, 모바일, 웹 등)
- Keras가 통합되어 고수준 API로 빠른 개발이 가능
- 오픈소스로 공개된 프레임워크이기 때문에, 많은 개발사례 존
- 산업/프로덕션 분야에서 TensorFlow 채택사례가 많음(배포 생태계가 크다)
3) PyTorch

- Facebook(Meta)에서 개발한 오픈소스 딥러닝 프레임워크
- 즉시 실행(eager execution)을 기본으로 함 -> 디버깅/인터랙티브 개발 쉬움
- 연구/실험 커뮤니티가 활발함
- 코드가 직관적, Python 개발 흐름과 자연스레 맞음(Module을 구조화해 객체지향 디버깅 쉬움)
- 연구 분야에서 PyTorch 선호도가 높음
대규모 서비스/배포를 할 때에는 TensorFlow를 선호하는 경향이 있고, 연구나 논문을 작성할 때에는 PyTorch를 활용하는 경향이 있지만 두 프레임워크 모두 알아두면 ONNX(Open Neural Network Exchange) 등으로 상호보완이 가능하기에 유리하다.
2. Tensor vs Array
텐서란, 다차원 배열(행렬)을 일반화한 것인데, 수치 연산을 위한 데이터 구조이다. 딥러닝 이외에서는 numpy array로 다차원 배열을 처리하는데, 기본적으로 둘은 유사하지만 크게 다른 점은 텐서는 GPU 사용과 자동 미분을 기본적으로 지원한다는 점이다. 딥러닝 연산 층에 보관되는 가중치들은 수백만 개 이상이 존재하고, 순전파나 역전파에서 연산을 진행하려면 CPU에서 수행하기에는 무리가 있다. 따라서 딥러닝을 수행할 때에는, 배열이 아닌 텐서 연산을 수행하게 된다.
한편 과학/공학이나 다른 분야에서 텐서를 사용하지 않고 배열을 사용하는 이유는 기존 과학/공학에서는 오랫동안 numpy를 활용하여서 표준으로 자리 잡아 도구/라이브러리/코드가 넘파이에 최적화되어있기도 하고, 딥러닝 텐서가 제공하는 기능은 다른 애플리케이션에는 불필요해서 더 단순한 형태인 배열을 활용해도 충분하기 때문에 굳이 텐서를 사용하지 않는 것이다. 또한 배포환경이나 경량한 스크립트를 다룰 때에는 , 텐서를 활용하게 되면 경량 서버나 엣지 장치에 바로 배포를 못하게 되는 문제도 있고, GPU 드라이버 매칭에 환경 세팅이 오래 걸리는 경우가 있기도 하다.

결론 : 비유하자면 텐서는 다차원 배열에 '딥러닝용 엔진'을 장착한 것 !
'My IT > Article' 카테고리의 다른 글
| [My IT : Article] 이미지 데이터 전처리 - 표준 전처리, 데이터 증강 (0) | 2026.03.30 |
|---|---|
| [My IT : Article] CNN Layer, AutoEncoder (0) | 2026.03.23 |
| [My IT : Article] 딥러닝 vs 머신러닝, 딥러닝 하이퍼파라미터 (0) | 2026.03.10 |
| [My IT : Article] 결정 트리, 앙상블 기법, 차원 축소 기법 (2) | 2026.03.04 |
| [My IT : Article] 지도학습 vs 비지도학습, 손실함수, 편향/분산, K-폴드 교차 검증 (0) | 2026.02.24 |