PyTorch와 TensorFlow (feat.Tensor)

tjdxordlsmsa·2026년 2월 5일

딥러닝 모델을 구축하기 위해 가장 보편적으로 쓰이는 PyTorch와 TensorFlow를 소개하려고 한다.
PyTorch와 TensorFlow는 모두 딥러닝을 위한 프레임워크이지만 약간의 차이점이 존재한다.

먼저 PyTorch는 메타에서 2016년 9월 처음으로 공개한 프레임워크로 Numpy 배열을 Tensor로 가져올 수 있고, 이를 GPU 메모리에서 연산할 수 있다. PyTorch는 코드를 Pythonic하게 구현하여 직관적이고 간결하게 작성할 수 있으며, 디버깅이 쉽고 로직이 자유로워 AI연구와 실험실에서 많이 사용한다. torchvision, torchaudio, torchtext 등 도메인 별로 확장팩이 풍부하게 있어서 실험에서 배포까지 가능한 프레임워크이다. 강화학습, 시계열, 부분관측 문제에 특히 강하다는 장점이 있다.

TensorFlow는 구글리서치의 구글브레인 팀이 2015년 공개한 라이브러리로, 알파고 빌드를 위해 사용되어 많은 관심을 끌었다. PyTorch보다 더 크고 활발한 커뮤니티를 가지고 있으며, 개발자가 사용할 수 있는 리소스가 더 많다. 구조가 PyTorch에 비해 엄격하여 코드가 복잡했지만, v2.0이 출시된 이후 Keras와 통합되면서 사용성이 개선되었다. 대규모 서비스환경에 최적화되어 실제 산업의 대규모 서비스 제품화를 위해 많이 쓰인다.

최근 TensorFlow 2.10 이후 버전부터는 윈도우 환경에서 GPU 호환성 문제가 있어, 리눅스 환경의 Docker나 WSL에서 GPU를 구동시키거나 googlecolab처럼 클라우드 머신을 사용하는 방법이 있다. 이러한 문제 때문에 최근에는 PyTorch를 사용하는 추세가 늘고 있으며, JAX를 쓰는 경우도 있다.

Tensor란 다차원 배열을 표현하는 데이터 구조로, Numpy의 배열과 유사하지만 GPU로 연산이 가능하며 자동미분까지 지원한다는 점이 특징이다. 이러한 특징때문에 Tensor는 딥러닝의 기본 자료형이 되며, 단순 배열이 아니라 미분 가능한 객체로서 다양한 기울기 연산들을 지원하여 딥러닝 모델 학습에 사용된다.

이미지 출처: https://docs.kanaries.net/ko/articles/pytorch-vs-tensorflow

profile

0개의 댓글