텐서플로(Tensorflow) 이해하기

    텐서플로 개념

    텐서플로(Tensorflow)는 구글(Google)에서 만든 파이썬 기반의 오픈소스 딥러닝 및 머신러닝 플랫폼입니다. 초창기에는 신경망 기반이라 딥러닝 플랫폼으로 인식이 되었는데 머신러닝 알고리즘도 제공을 하기 때문에 딥러닝이 아니라 정확히는 머신러닝 플랫폼이라고 하는 것이 맞을 것 같네요.

    머신러닝을 위한 플랫폼임을 명확히 밝히고 있는 텐서플로

     

    텐서플로우는 넘파이(NumPy)와 비슷하게 엔지니어들과 연구자들이 텐서에 대한 수학적 표현을 적용할 수 있도록 하며 쉽게 머신러닝 모델을 만들 수 있도록 도와줍니다.

     

    텐서플로의 장점

    • 미분 가능한 어떤 표현식에서도 자동으로 그레디언트를 계산할 수 있으므로 머신러닝에 적합
    • CPU 뿐만 아니라 병렬화된 하드웨어 가속기인 GPU 및 TPU에서도 실행 가능
    • 여러 머신에 분산 시킬 수 있음
    • 텐서플로는 다른 런타임(Runtime)에 맞게 변환하며, 실전 환경에 쉽게 배포 가능

     

    텐서플로는 단순히 파이썬에서 추가하는 라이브러리 이상의 플랫폼이라는 것을 유념해야 합니다. 현재 텐서플로는 구글에서 자체적으로 다양한 프로젝트를 진행중이며, Third Party에서 개발하는 구성 요소들로 거대한 생태계를 이루고 있습니다. 

     

    예를 들어 강화 학습 연구를 위한 TF-Agents, 머신러닝 워크플로 관리를 위한 TFX, 제품 배포를 위한 텐서플로 서빙(Tensorflow Serving), 사전 훈련된 모델의 저장소인 텐서플로 허브(Tensorflow Hub)가 존재합니다.

     

    최근에는 파이토치(PyTorch)와 같은 라이브러리가 많이 뜨고는 있지만 텐서플로의 경우 파이토치보다 실전에 배치하기 상당히 용이합니다. 정확히는 파이토치가 좀 더 연구가들에게 사랑을 받는 반면 텐서플로는 서비스를 적용하는 엔지니어, 개발자들에게 사랑을 받는다는 표현이 정확할 것 같네요.

     

    참고자료

    [1] TensorFlow 블로그, TensorFlow를 사용해야 하는 이유

    [2] 도서, Deep Learning with Python

    반응형

    댓글

    Designed by JB FACTORY