더북(TheBook)

그림 1-9는 전반적인 TensorFlow.js 구조를 보여 줍니다. 가장 아래 레이어는 빠른 수학 연산을 위한 병렬 컴퓨팅을 책임집니다. 이 레이어는 대부분의 사용자에게 보이지 않지만, 고수준 API에서 모델 훈련과 추론을 가능한 한 빠르게 실행하기 위해 높은 성능을 내는 것이 중요합니다. 브라우저에서는 GPU 가속을 위해 WebGL을 사용합니다(INFO BOX 1.2 참조). Node.js에서는 멀티코어 CPU 병렬화와 CUDA GPU 가속을 직접 사용하는 것이 모두 가능합니다. 파이썬 텐서플로와 케라스에서 사용하는 것과 동일한 수학 백엔드입니다. 가장 낮은 수학 레이어 위에 구축된 것이 Ops API입니다. 이 API는 텐서플로의 저수준 API와 동등하며 텐서플로에서 SavedModel로 저장된 모델을 로딩할 수 있습니다. 가장 높은 수준에는 케라스와 비슷한 Layers API가 있습니다. Layers API는 TensorFlow.js를 사용하는 대부분의 프로그래머에게 적절한 선택이며 이 책에서 주로 다루는 API입니다. Layers API는 케라스 모델을 로딩하거나 저장할 수 있습니다.

▲ 그림 1-9 TensorFlow.js의 개략 구조. 파이썬 텐서플로 및 케라스와의 관계도 알 수 있다.

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