본문 바로가기

딥러닝

[Tensorflow] Tensorflow.js

반응형
tfjs

자바스크립트는 웹 브라우저에서 주로 사용하는 스크립트 언어이다. 웹 페이지를 동적으로 구성하기 위해 사용된다. 웹 브라우저에서 딥러닝 모델을 사용할 수 있도록 텐서플로우의 자바스크립트 버전이 제공된다.

 

CDN

CDN을 사용하면 서버 입장에서는 제공하려는 컨텐츠를 직접 가지고 있을 필요 없이 사용자가 제공자에게 직접 다운로드 할 수 있다. tfjs의 cdn은 아래와 같이 사용할 수 있다.

tfjs뿐만 아니라 tfjs-vis를 포함해 학습 과정 및 결과를 웹페이지에 표시하려한다.

 

Dataset

간단히 학습할 수 있는 MNIST 데이터셋을 사용해본다. 0~9까지의 손글씨로 쓴 숫자들로 5500개의 학습 데이터와 1000개의 테스트 데이터를 가진다. 텐서플로 github에서 js 파일로 제공되는 파일을 사용한다. 이 파일을 직접 다운로드해서 data.js파일을 생성한다.

minst

Code

파일 구성은 아래와 같다.

data.js는 다운받은 mnist 데이터를 나타낸다. index.htmlmain.js는 코드를 작성한다.

기본 웹페이지인 index.html은 아래와 같이 구성한다.

별 다른 내용 없이 자바스크립트 코드를 불러오는 역할만 한다.

main.js의 전체 코드는 여기에서 확인할 수 있다.

 

모델 생성

모델 생성법은 파이썬에서 사용하던 방법과 동일하다.

공식 문서에서 api를 확인할 수 있다.

 

tfvis

tf-vis는 학습에 대한 내용을 웹 페이지에 표시할 수 있는 라이브러리이다. 공식문서에서 클래스나 함수의 사용에 대한 상세한 내용을 확인할 수 있다.

 

Summary

01

텐서플로와 동일하게 모델 구조를 출력할 수 있다.

 

Callback

02

학습이 진행됨에 따라 loss와 accuracy의 변화하는 모습을 그래프로 나타낸다. 이 콜백 함수를 model.copile의 인자로 넘겨준다.

 

Accuracy

03

모델의 예측결과를 배열 형태로 전달하고, 각 클래스에 대한 샘플 수와 정확도를 표시한다.

 

Confusion matrix

05

예측 졀과에 대한 confusion matrix를 출력한다. 이를 사용하면 어떤 클래스를 잘못 예측하는지 파악하기 용이하다.

 

 

 

 

반응형

'딥러닝' 카테고리의 다른 글

[딥러닝] MNIST  (0) 2023.03.30