teachablemachine.withgoogle.com/

 

Teachable Machine

Train a computer to recognize your own images, sounds, & poses. A fast, easy way to create machine learning models for your sites, apps, and more – no expertise or coding required.

teachablemachine.withgoogle.com

이 사이트는, 온라인 상에서 머신러닝을 구현하고 확인할 수 있게 도와주는 사이트입니다.

먼저 접속을 하여서 Get Started를 눌러 줍니다.

 

그럼 아래와 같이 이미지, 오디오, 동작 프로젝트를 진행할 수 있는데, 우리는 이미지 프로젝트를 눌러 들어가 보겠습니다.

 

 

그럼 다음과 같은 화면으로 넘어가지는데요... 아마 여러분들은 무슨 작업일지 이해가 가셨을 것입니다.

 

화면에 나와있는 부분을 수정해봅시다.

Class 1, Class 2 있는 부분에는 연예인 이름을 작성해 주시고,

Upload 버튼을 눌러서 우리가 저장한 연예인들 사진을 업로드해줍니다.

Add a class 버튼을 눌러서 준비한 연예인들 숫자만큼 추가하도록 하겠습니다.

 

이렇게 클래스 이름 지정과 파일 업로드가 끝나면, Train Model을 눌러주시면 됩니다.

그럼 모델을 훈련하고 저장시켜주는 작업이 진행되는데요... (저는 약 2분 정도 걸렸습니다.)

그럼 이렇게 훈련을 마쳤고, 아마 캠이 연결되신 분들은 자동으로 캠으로 연결되어 여러분들이 셋팅한 연예인들과 얼마나 매칭 되는지 바로 확인할 수 있습니다.

 

그러나 우리는, 모델을 다운을 받을 것이기 때문에.... Export Model을 눌러줍니다.

 

그럼 다음과 같은 창이 뜨고, 우리는 텐서플로 누르고 Keras 버전 모델을 다운로드합니다.

그럼 모델 훈련 모델인 h5 파일을 받을 수가 있습니다.

받은 h5모델을 압축을 풀고 실행할 파이썬 경로에 놓아줍니다.

 

코드는 그대로 따오고요!

import tensorflow.keras
from PIL import Image, ImageOps
import numpy as np

# Disable scientific notation for clarity
np.set_printoptions(suppress=True)

# Load the model
model = tensorflow.keras.models.load_model('keras_model.h5')

# Create the array of the right shape to feed into the keras model
# The 'length' or number of images you can put into the array is
# determined by the first position in the shape tuple, in this case 1.
data = np.ndarray(shape=(1, 224, 224, 3), dtype=np.float32)

# Replace this with the path to your image
image = Image.open('test_photo.jpg')

#resize the image to a 224x224 with the same strategy as in TM2:
#resizing the image to be at least 224x224 and then cropping from the center
size = (224, 224)
image = ImageOps.fit(image, size, Image.ANTIALIAS)

#turn the image into a numpy array
image_array = np.asarray(image)

# display the resized image
image.show()

# Normalize the image
normalized_image_array = (image_array.astype(np.float32) / 127.0) - 1

# Load the image into the array
data[0] = normalized_image_array

# run the inference
prediction = model.predict(data)
print(prediction)

 

그 후에, test_photo.jpg 대신, 우리가 테스트할 파일을 넣어주면! 끝!

여기서 코드를 우리가 알아보기 편하도록 수정해주시면 됩니다!

반응형

+ Recent posts