Posts Keras-Basics
Post
Cancel

Keras-Basics

Keras


Keras

파이썬 기반의 쉽고 간결한 딥러닝 라이브러리

  • 모듈화: 제공 모듈은 독립적이고, 설정 가능하며 제약이 적음
  • 단순성: 간결하고 이해가 쉬우나 속도와 혁신성은 떨어질 수 있음
  • 확장성: 새로운 클래스 및 함수로 모듈 추가 가능

구성

  • 모델
    • 가장 핵심적인 데이터 구조
    • 순차적(Sequential) 모델로 레이어를 쉽게 쌓을 수 있음
    • 다중 출력 등 복잡한 모델은 Keras 함수 API 사용
  • 학습 과정
    1. 데이터 생성
    2. 모델 구성
      • Sequentail()모델 또는 Keras 함수 API
    3. 모델 학습 과정 설정
      • Compile() 함수 사용
    4. 모델 학습
      • fit() 함수 사용
    5. 모델 평가
      • evaluate() 함수 사용
    6. 모델 사용
      • predict() 함수 사용
  • Layers
    • 신경망 계층 관련 클래스
      • Dense, Activation, Dropout, …
    • 각 클래스 객체의 주요 메소드 함수
      • Layers.get_weights(), layer.set_weights(), …
  • Processing
    • 텍스트, 이미지 전처리 관련 클래스
  • Datasets
    • MNIST, CIFAR10, IMDB 등 데이터셋 관련 클래스
  • Utils
    • 데이터 정규화, 데이터 표현, 파일 처리, 다중 GPU 처리 등…
  • 기타
    • Losses, Callbacks, Optimizers, Activations, Visualizations, …

예제 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import tensorflow as tf

mnist = tf.keras.datasets.mnist  # 28x28 images of hand-written digits 0-9

(x_train, y_train), (x_test, y_test) = mnist.load_data()

x_train = tf.keras.utils.normalize(x_train, axis=1)
x_test = tf.keras.utils.normalize(x_test, axis=1)

model = tf.keras.models.Sequential()
model.add(tf.keras.layers.Flatten(input_shape=x_train[0].shape))
model.add(tf.keras.layers.Dense(128, activation=tf.nn.relu))
model.add(tf.keras.layers.Dense(128, activation=tf.nn.relu))
model.add(tf.keras.layers.Dense(10, activation=tf.nn.softmax))

model.compile(optimizer='adam', loss='sparse_categorical_crossentropy',
             metrics=['accuracy'])

model.fit(x_train, y_train, epochs=10, batch_size=100, validation_split=0.2)

predictions = model_reloaded.predict([x_test])
This post is licensed under CC BY 4.0 by the author.