더북(TheBook)

1.3.2 TensorFlow.js를 선택하는 이유: 비슷한 라이브러리와의 간략한 비교

TensorFlow.js가 유일한 딥러닝 자바스크립트 라이브러리는 아니고 처음 등장한 것도 아닙니다(예를 들어 brain.js와 ConvNetJS의 역사가 더 깁니다). 그럼 왜 TensorFlow.js가 다른 라이브러리에 비해 뛰어날까요? 첫 번째 이유는 포괄성입니다. TensorFlow.js는 현재 제품 수준의 딥러닝 워크플로에 필요한 모든 핵심 요소를 지원하는 유일한 라이브러리입니다.

추론과 훈련을 모두 지원

웹 브라우저와 Node.js 지원

GPU 가속 활용(웹 브라우저에서는 WebGL, Node.js에서는 CUDA 커널)

자바스크립트에서 신경망 모델 구조 정의 지원

모델 직렬화와 역직렬화 지원

파이썬 딥러닝 프레임워크와 상호 변환 지원

파이썬 딥러닝 프레임워크와의 API 호환성

데이터 입력 지원과 시각화를 위한 API 제공

두 번째 이유는 생태계입니다. 대부분의 자바스크립트 딥러닝 라이브러리는 자신만의 고유한 API를 정의하고 있습니다. 반면 TensorFlow.js는 텐서플로와 케라스에 밀접하게 통합되어 있습니다. 파이썬 텐서플로나 케라스에서 훈련된 모델을 브라우저에서 사용하고 싶나요? 문제없습니다. 브라우저에서 TensorFlow.js 모델을 만들고 구글 TPU 같은 빠른 가속기를 사용하기 위해 케라스에서 실행하고 싶나요? 이것도 문제없습니다. 자바스크립트 이외 프레임워크와의 밀접한 연동은 상호 운영성을 높일 뿐만 아니라 개발자가 프로그래밍 언어와 인프라 스택 사이를 쉽게 넘나들 수 있게 만듭니다. 예를 들어 이 책을 읽고 TensorFlow.js를 마스터했다면 파이썬 케라스를 시작하는 데 어려움이 없을 것입니다. 그 반대도 마찬가지입니다. 케라스를 잘 알고 있다면 TensorFlow.js를 빠르게 배울 수 있습니다(자바스크립트 기술을 충분히 알고 있다고 가정합니다). 마지막으로 중요한 것은 TensorFlow.js의 인기와 커뮤니티의 강력함을 간과해서는 안 된다는 점입니다. TensorFlow.js 개발자는 장기적인 유지 보수와 라이브러리 지원을 위해 노력하고 있습니다. 깃허브 스타와 포크 수에서 커뮤니티 기여자까지, 스택 오버플로(Stack Overflow)의 활발한 토론에서 질문 답변의 횟수까지 TensorFlow.js에 견줄 만한 라이브러리가 없습니다.26

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.