tensorflow.js 찍먹해보기 (이미지 분류 from 생활코딩)
Language/JS

tensorflow.js 찍먹해보기 (이미지 분류 from 생활코딩)

728x90

안녕하세요 웹코기입니다.

시간이 지날수록 제가 사랑하는 JS의 영역이 넓어짐에 따라,

예전부터 관심있던 머신러닝 기술인 tensorflow.js을 드디어 맛보게 되었어요.

생활코딩을 통해 학습한 텐서플로우의 내용에 대해 공유합니다.

 

 

 

 


텐서플로우의 사용 방향

 

 

머신러닝 (기계학습) => 기계를 학습시켜서 인간의 판단능력을 기계에게 위임하는 기술

 

 


 

1. 텐서플로우를 이용해 해결하려는 문제는 ?

'지도학습 영역의 회귀 문제' (말이 어렵다.. 내용을 풀어서 아래에 정리)

 

 

 

 

지도학습이 된 경우, 강아지의 이미지를 보고 '댕댕이'라는 결과를 도출할 수 있음.

 

 

 

 

 

그렇다면 '지도학습'의 두가지 방식

1. 회귀 => 맞추려는 정보가 숫자일 때

2. 분류 => 범주형일 때

 

 

 

 

 

'회귀와 분류' 가 가능한 여러 알고리즘 중 머신러닝은  '뉴럴 네트워크' 알고리즘을 사용함.

 

뉴럴 네트워크 => 사람의 두뇌가 동작하는 방법을 모방해서 기계가 사람처럼 학습할 수 있도록 고안된 알고리즘

 

 

 

 


 

2. 텐서플로우 사용법 ?

 

작업자가 직접 머신러닝을 설계한다는 것은 이에 관련된 고도의 지식을 갖추지 않았다면 불가능에 가깝기 때문에, 

텐서플로우에서 제공하는 기본모델을  그대로 가져와 사용하는 것에 의의를 둡니다.

 

사용가능 모델 리스트 링크

https://www.tensorflow.org/js/models?hl=ko

 

TensorFlow.js 모델

모든 프로젝트에서 즉시 사용할 수 있는 선행 학습된 TensorFlow.js 모델을 탐색하세요.

www.tensorflow.org

 

 

 

이 중에서 가장 간단한 이미지 분류를 통해 사용 방법을 알아보자.

 

1. 텐서플로우 script cdn 을 불러온다.

2. 이미지 분류에 사용될 샘플 강아지 이미지를 준비한다.

3. 텐서플로우 사용법대로 model의 classify를 이용해 결과값을 확인해본다.

 

dog.jpg
console.log 출력 결과값

 

이 결과값을 해석해보면,

이미지의 className(견종)이 'Labrodor retriever' 일 확률이 0.48650711... 라는 뜻.

 

 

 

 

[출처] 생활코딩

https://opentutorials.org/course/4628

 

 

728x90