2.1.1 텐서플로 특징 및 장점
텐서플로는 다양한 환경에서 사용 가능하도록 설계되었습니다. 이러한 유연성 외에 다음과 같은 특징들이 있습니다.
• 코드 수정 없이 데스크톱, 서버 혹은 모바일 디바이스에서 CPU나 GPU를 사용하여 연산을 구동할 수 있습니다.
• 분산(distributed) 환경에서 실행 가능합니다.
• 단순한 아이디어 테스트부터 서비스 단계까지 모두 이용 가능합니다.
• GradientTape를 사용하여 자동으로 미분을 계산할 수 있습니다. 딥러닝 역전파 과정에서 오차를 최소화하고자 편미분을 이용하여 가중치를 업데이트합니다. 이때 미분 계산을 자동화하는 것이 GradientTape이며, 다음과 같이 사용합니다.
Import tensorflow as tf
with tf.GradientTape() as tape:
tape.watch(model.input)
model_vals = model(v)
텐서플로는 구글에서 공식 배포하기 때문에 많은 학습 자료와 다양한 레퍼런스가 있어 다음과 같은 장점이 있습니다.
• 구글에서 공식 배포했기 때문에 다양한 학습 자료가 제공됩니다.
• 사용하기 편리합니다. 텐서플로 2.x부터는 데이터를 훈련하고 예측하는 과정이 매우 단순해졌습니다.
• 코드 수정 없이 CPU/GPU 모드로 동작할 수 있습니다.
• (빠른 속도를 제공하는) C++ 애플리케이션에서 텐서플로 사용이 편리합니다.
• 직관적이고 접근하기 쉬운 파이썬 인터페이스를 제공합니다.