반응형

딥러닝 9

[Deep Learning][딥러닝] FunctionalAPI

이전 까지 예제에 사용했던 모델은 Sequential API를 사용한 것이었습니다. Sequential API def create_model(): model = keras.Sequential() model.add(keras.layers.Dense(units=16, activation='relu', input_shape=(13,))) model.add(keras.layers.Dense(units=1)) return model 위와 같은 Sequential API는 편리하고 직관적으로 알아볼 수 있지만, 단순하게 층을 쌓는것으로는 복잡한 인공신경망을 구현할 수 없습니다. Functional API 더 복잡한 모델을 만들어 주기 위해 Functional API를 사용합니다. Functional API는 각 층..

[Deep Learning][딥러닝] 모델저장 / Callback

모델은 아래 MNIST CNN모델을 활용 ysyblog.tistory.com/151?category=1150980 [Deep Learning][딥러닝] CNN MNIST 분류 MNIST 데이터에 CNN 적용 하이퍼파라미터 및 데이터셋 전처리 import tensorflow as tf import tensorflow.keras as keras import tensorflow.keras.layers as layers import numpy as np np.random.seed(1) tf.ra.. ysyblog.tistory.com 모델 저장 딥러닝은 모델을 만드는데 오래걸리기 때문에 이 모델을 따로 저장해 놓을 필요가 있다. 모델을 저장하는 방법은 다음과 같다. 학습이 끝난 모델의 파라미터만 저장 모델 전체..

[Deep Learning][딥러닝] CNN Image Augmentation(이미지 증식)

적은 datasets에 CNN 학습하는 경우 Data의 수가 많지 않을 때 CNN을 통한 모형 학습이 어려울 수 있음 딥러닝은 많은 수의 데이터를 통해 feature engineering 과정 없이 feature를 찾을 수 있는데 있음 하지만 모델이 작고 regularization이 잘 되어 있다면 수백 개의 샘플로도 훈련 가능 Data가 많지 않아 CNN 학습에 어려움이 있을 때 사용 가능한 방법 Data augmentation 활용 이미지의 색깔, 각도 등을 약간씩 변형하여 data의 수를 늘림 Pre-trained network의 활용 ImageNet 등에서 학습된 기존의 모형과 weight를 불러온 후 목적에 맞게 약간 수정하여 모형 생성 Data for cats vs. dogs 2013년 Kag..

[Deep Learning][딥러닝] CNN MNIST 분류

MNIST 데이터에 CNN 적용 하이퍼파라미터 및 데이터셋 전처리 import tensorflow as tf import tensorflow.keras as keras import tensorflow.keras.layers as layers import numpy as np np.random.seed(1) tf.random.set_seed(1) # 하이퍼파라미터 정의 learning_rate = 0.001 N_EPOCHS = 20 N_BATCH = 100 N_CLASS = 10 # 데이터 저장 (train_images, train_labels), (test_images, test_labels) = keras.datasets.mnist.load_data() N_TRAIN = train_images.shap..

[Deep Learning][딥러닝] CNN_MNIST분류 / 모델저장/ FunctionalAPI

Convolutional Neural Network 구현 import matplotlib.pyplot as plt # 학습결과 그래프 함수 # loss 그래프 def loss_plot(history): # plt.figure(figsize=(10,7)) plt.plot(history.history['loss'], label='Train loss') plt.plot(history.history['val_loss'], label='Validation loss') plt.title('Loss') plt.xlabel('Epoch') plt.ylabel('Loss') plt.legend() plt.show() # accuracy 그래프 def accuracy_plot(history): # plt.figure(fi..

[Deep Learning][딥러닝] DNN 분류 (DNN Classification)

Classification Fashion MNIST(MNIST) Dataset 10개의 범주(category)와 70,000개의 흑백 이미지로 구성된 패션 MNIST 데이터셋. 이미지는 해상도(28x28 픽셀)가 낮고 다음처럼 개별 의류 품목을 나타낸다: 션 MNIST와 손글씨 MNIST는 비교적 작기 때문에 알고리즘의 작동 여부를 확인하기 위해 사용되곤 하며 코드를 테스트하고 디버깅하는 용도로 좋다. 이미지는 28x28 크기의 넘파이 배열이고 픽셀 값은 0과 255 사이이다. 레이블(label)은 0에서 9까지의 정수 배열이다. 아래 표는 이미지에 있는 의류의 클래스(class)를 나낸다. 레이블 클래스 0 T-shirt/top 1 Trouser 2 Pullover 3 Dress 4 Coat 5 San..

[Deep Learning][딥러닝] DNN 회귀(DNN Regression)

데이터셋 API데이터 입력 파이프라인을 위한 패키지tf.data 패키지에서 제공tf.data.Dataset 추상클래스에서 상속된 여러가지 클래스 객체를 사용 또는 만들어 쓴다.데이터 입력 파이프라인이란모델에 공급되는 데이터에 대한 전처리 작업과 공급을 담당한다.이미지 데이터의 경우분산 파일시스템으로 부터 이미지를 모으는 작업,이미지에 노이즈를 주거나 변형하는 작업,배치 학습을 위해 무작위로 데이터를 선택하여 배치데이터를 만드는 작업텍스트 데이터 경우원문을 토큰화하는 작업임베딩하는 작업길이가 다른 데이터를 패딩하여 합치는 작업데이터셋 API 사용 세단계데이터셋 생성from_tensor_slices(), from_generator() 클래스 메소드, tf.data.TFRecordDataset 클래스를 사용해..

[Deep Learning][딥러닝] 딥러닝 구현

MNIST 이미지 분류 MNIST(Modified National Institute of Standards and Technology) database 흑백 손글씨 숫자 0-9까지 10개의 범주로 구분해놓은 데이터셋 하나의 이미지는 28 * 28 pixel 의 크기 6만개의 Train 이미지와 1만개의 Test 이미지로 구성됨. import tensorflow as tf from tensorflow import keras tf.__version__ #'2.1.0' keras.__version__ #'2.2.4-tf' 텐서플로우는 GPU를 사용하는 2.0이상 버전을 설치해야함 # MNIST dataset 조회 (train_image, train_label), (test_image, test_label) =..

[Deep Learning][딥러닝] 딥러닝 개요

인공지능 (AI - Artificial Intelligence) 지능: 어떤 문제를 해결하기 위한 지적 활동 능력 인공지능 기계가 사람의 지능을 모방하게 하는 기술 규칙기반, 데이터 학습 기반 머신러닝(Machine Learning) 데이터 학습 기반의 인공 지능 분야 기계에게 어떻게 동작할지 일일이 코드로 명시하지 않고 데이터를 이용해 학습할 수 있도록 하는 알고리즘과 기술을 개발하는 인공지능의 한분야 Feature engineering 단계에서 사람이 초기 입력 데이터를 여러 방식으로 변환해야 함 딥러닝 (Deep Learning) 인공신경망을 기반으로 하는 머신러닝의 한 분야. 대용량 데이터 학습에 뛰어난 성능을 나타낸다. 한 번에 모든 특성을 학습 (End-to-End model) 딥러닝의 특징 ..

반응형