인공지능 27

COCO (Common Objects in Context) API

COCO is a large-scale object detection, segmentation, and captioning dataset. 코코의 홈페이지에 가면 코코가 어떻게 object detection을 하는지 볼 수 있다. 아래는 coco의 dataset, explorer 페이지다 원하는 것을 선택하고 검색을 누르면 아래와 같이 사진들이 나온다. COCO API의 설치는 보통 TensorFlow Object Detection API 를 설치할때 같이 설치하기에 아래의 게시글을 참고하자 2021.12.29 - [인공지능] - TensorFlow Object Detection API TensorFlow Object Detection API TensorFlow Object Detection API 의 ..

인공지능 2021.12.29

TensorFlow(텐서플로)의 MobileNetV2

모바일넷은 핸드폰에서 돌아갈정도로 가볍고, 정확도도 낮지 않아서 잘 쓰이는 인공지능이다. 아래와 같이 쓸 수 있는데 tf.keras.applications.mobilenet_v2.MobileNetV2( input_shape=None, alpha=1.0, include_top=True, weights='imagenet', input_tensor=None, pooling=None, classes=1000, classifier_activation='softmax', **kwargs ) include_top=False 로 하면 Base Model 만을 가져올 수 있다. 아래는 텐서플로의 공식 사이트이다. https://www.tensorflow.org/api_docs/python/tf/keras/applicat..

인공지능 2021.12.28

[인공지능] 원하는 특정(accuracy or loss) 값에서 자동으로 학습 종료하기

class myCallback(tf.keras.callbacks.Callback) : def on_epoch_end(self, epoch, logs={}) : if logs['accuracy'] > 0.90 : print('\n 정확도가 90%가 넘으므로, 학습을 멈춥니다.') self.model.stop_training = True if의 logs 옆에 로그에 찍히는 값들 중 원하는 항목을, 우측에 조건으로 원하는 조건을 넣어주면 된다. my_callback = myCallback() 클래스이기에 변수에 저장하여 사용해야 하고, model.fit(X_train, y_train, epochs=5, callbacks=[my_callback]) 위와 같이 학습할때 callbacks 함수의 값으로 저장한 변수..

인공지능 2021.12.01

[인공지능] 이미지 Classification confusion matrix로 분석하고 heatmap으로 시각화하기 : 실제값이 레이블 인코딩, 예측값이 softmax값일때

학습이 다 끝난 상태에서! 시작해보자 0.기본 준비 from sklearn.metrics import confusion_matrix 1. 예측값의 각 행의 최대값 인덱스를 변수에 저장하자! y_pred = model.predict(X_test) y_pred_labels = y_pred.argmax(axis=1) 2. confusion matrix를 그리자! cm = confusion_matrix(y_test, y_pred_labels) 3. confusion matrix를 heatmap으로 시각화하자! import seaborn as sb sb.heatmap(data=cm, annot = True, fmt = '.0f', cmap='RdPu') plt.show()

인공지능 2021.12.01

[인공지능] Artificial neural network 에서 tensorflow로 이미지 학습시키기

0. 기본 준비 import tensorflow as tf 1. 준비된 데이터(X_train, y_train, X_test, y_test) normalizing X_train = X_train / 255.0 X_test = X_test / 255.0 2. 인공지능 모델링 from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense, Flatten model = Sequential() model.add( Flatten() ) model.add( Dense(units=128, activation='relu')) model.add( Dense(units=10, activation='softmax')) model...

인공지능 2021.12.01

[인공지능] 이미지를 feature Scaling 하는 법

우리가 기본적으로 하는 feature Scaling은 StandardScaler(Standardization), MInMaxScaler(Normalization) 두가지를 많이 사용한다. 그러나 이미지는, 범위가 0과 255 사이로 정해져 있기 때문에 굳이 피처 스케일러를 사용할 필요 없이 255로 그냥 나눠주기만 하면, 자동으로 0과 1사이의 값으로 피처 스케일링 된다. 255로 나눌때는 255.0으로 나누는데 이는 플롯으로 처리하겠다는 의미이다. 쓰지않아도 플롯으로 처리되지만 대부분 개발자들이 쓰기때문에 쓰도록 하자. X_train = X_train / 255.0 X_test = X_test / 255.0

인공지능 2021.12.01

[인공지능] 이미지(Image)는 어떻게 저장될까?_Gray Scale Image, Color Image

아래와 같은 이미지(28*28 픽셀)를 6만 장 가지고 있는 데이터셋을 다운받아 X라고 저장했을 때, X의 모양, shape는 (60000, 28, 28) 이다. 이 말은 28*28 크기의 이미지가60000개의 각 행에 1개씩 들어가 있다는 뜻이다. 그럼 위와같은 그림에서 색은 어떻게 저장이 되는 것일까?일단 그레이 스케일을 먼저 설명하자면, 그레이 스케일은 흰색과 검정, 회색으로 이루어진 것이고 이를 0~255로 표현한다. 0은 검정 255는 흰색이다. 이 숫자는 uint8 (유 인트 8) 인데 unsigned int 로 이루어진 8비트 숫자라 그렇다. 컬러는 3개의 행렬로 이루어져 있다. RED, GREEN, BLUE 의 RGB로 이루어진 행렬로 각각 행렬마다 0~255 로 이루어져 있다. 컬러는 영..

인공지능 2021.12.01

[인공지능] Epoch 와 loss, 반복 학습과 오차 : 자동으로 학습 종료하기

Epoch 는 데이터를 반복해서 학습하는 횟수이다. Epoch 가 증가할 수록 loss는 감소한다. Epoch 를 계속 증가시키다보면, 언젠가 학습데이터의 loss는 0이 된다. 하지만 학습데이터의 loss가 0이 되는 것은 의미가 없다. 우리는 학습한 데이터를 잘 푸는 인공지능이 아니라 새로운 데이터를 잘 맞추는 인공지능이 필요하기 때문이다. 학습시키는 fit이란 함수에 파라미터로 validation_split을 쓰면 학습시킬 데이터 X_train 를 쪼개어 validation, 즉 테스트 용으로 쓴다. validation이 X_test와 다른점이 무엇이냐면 X_test는 보통 학습이 다 끝난 인공지능을 평가하기 위해 사용한다. 하지만 여기서 설정한 validation은 Epoch가 한번 끝날때 마다,..

인공지능 2021.11.30

tensorflow(텐서플로우)로 딥러닝 모델링을 해보자_Prediction (regression)

0. 기본준비 import tensorflow.keras from keras.models import Sequential from keras.layers import Dense 1. 인공지능 만들기 model = Sequential() 2. 인공지능 구축하기 model.add( Dense(units=20 , activation='relu', input_dim = X.shape[1] ) ) model.add( Dense(units=10, activation='relu')) model.add( Dense(units=1, activation='linear')) 첫번째 히든레이어 생성 : 이때는 인풋 레이어의 숫자도 셋팅해준다, input_dim에는 컬럼의 개수를 넣어주자. Dense의 units는 노드의 갯수..

인공지능 2021.11.30