3.1 텐서플로란?
텐서플로(TensorFlow)는 구글에서 만든 파이썬 기반의 무료 오픈 소스 머신 러닝 플랫폼입니다. 넘파이(NumPy)와 매우 비슷하게 텐서플로의 핵심 목적은 엔지니어와 연구자가 수치 텐서에 대한 수학적 표현을 적용할 수 있도록 하는 것입니다. 하지만 텐서플로는 다음과 같이 넘파이의 기능을 넘어섭니다.
• (2장에서 보았듯이) 미분 가능한 어떤 표현식에 대해서도 자동으로 그레이디언트를 계산할 수 있으므로 머신 러닝에 매우 적합합니다.
• CPU뿐만 아니라 고도로 병렬화된 하드웨어 가속기인 GPU와 TPU에서도 실행할 수 있습니다.
• 텐서플로에서 정의한 계산은 여러 머신에 쉽게 분산시킬 수 있습니다.
• 텐서플로 프로그램은 C++, (브라우저 기반 애플리케이션을 위한) 자바스크립트(JavaScript), (모바일 장치나 임베디드 장치(embedded device)에서 실행하는 애플리케이션을 위한) 텐서플로 라이트(TensorFlow Lite) 등과 같은 다른 런타임(runtime)에 맞게 변환할 수 있습니다. 따라서 텐서플로 애플리케이션을 실전 환경에 쉽게 배포할 수 있습니다.