(create: ‘20.6.22, update: ‘20.07.06)

reference : Keras Documentation(Korean), 케라스에 대하여, Keras Documentation(English)

1. Keras 소개

1.1. 케라스 맛보기

(reference: https://keras.io/ko/#30)

케라스의 주요 데이터 구조는 models로 레이어를 조직하는 방식입니다. 가장 간단한 종류의 모델인 Sequential 모델은 레이어를 선형적으로 쌓습니다. 보다 복잡한 구조를 만드려면, Keras functional API를 사용하여 레이어로 임의의 그래프를 구축하면 됩니다.

  • 필요한 모듈을 import 합니다. tensorflow를 keras backend로 사용하는 경우는, import keras 보다는 from tensorflow import keras 처럼 tensorflow API 형태로 import 하는 방식을 추천 합니다.(참고)

    from tensorflow import keras
    
  • keras Sequential 모델을 생성합니다:

    model = keras.models.Sequential()
    
  • add() 메소드를 통해 레이어를 간단하게 쌓을 수 있습니다. 또는, Sequential 모델 생성 시 생성할 레이어를 인자로 전달할 수도 있습니다 :

    model.add(keras.layers.Flatten(input_shape=(28, 28)))
    model.add(keras.layers.Dense(64, activation='relu'))
    model.add(keras.layers.Dense(10, activation='softmax'))
    
  • 모델을 만든 다음 compile() 메소드로 학습 과정을 조정하십시오(옵티마이저, 손실함수, 측정지표 등) :

    model.compile(optimizer='adam',
                loss='sparse_categorical_crossentropy',
                metrics=['accuracy'])
    
  • 배치의 형태로 트레이닝 데이터에 대한 반복 학습을 수행할 수 있습니다. fit() 메소드로 학습 합니다:

    model.fit(x_train, y_train, epochs=5, batch_size=32)
    
  • evaluate() 메소드로 학습된 모델의 성능을 평가해 보십시오:

    loss_and_metrics = model.evaluate(x_test, y_test, batch_size=32)
    
  • predict() 메소드로 새로운 데이터에 대해서 예측 결과를 생성할 수 있습니다:

    classes = model.predict(x_test, batch_size=32)
    

1.2. Keras 설치

(reference: https://keras.io/ko/#_4)

  • Tensorflow를 설치 합니다. (Keras 벡엔드로 Tensorflow를 사용 합니다. Tensorflow 2.x latest 버전을 설치 합니다.)

    $ pip install tensorflow
    

    또는, 아래와 같이 tensorflow 버전을 명시적으로 지정하여 설치할 수도 있습니다. (tensorflow==latest 형태로 가장 최신 버전을 설치할수도 있습니다.)

    $ pip install tensorflow==2.1
    
  • Keras를 설치 합니다. keras 버전을 2.3으로 지정해서 설치 합니다. keras 버전 2.4부터 더이상 멀티 백엔드를 지원하지 않습니다. keras 2.4 Release Note박해선님의 텐서 플로우 블로그를 참고 하세요.

    $ pip install keras==2.3
    
    • 케라스는 텐서플로 2.0에 tensorflow.keras로 포함되어 있으므로 케라스를 사용하려면 텐서플로 2.0 이상을 설치하면 됩니다. (multi backend를 사용할 필요가 없는 경우, 즉 tensorflow backend 만 사용할 경우 keras를 별도로 설치할 필요가 없습니다.)
  • 선택적으로, HDF5 and h5py(디스크에 케라스 모델을 저장하실 경우 필요합니다) 라이브러리와 graphviz, pydot(모델 그래프를 시각화하는 visualization utilities에 사용됩니다) 라이브러리를 설치하는 것도 고려해 보십시오:

    pip install h5py
    pip install pydot
    

2. Keras 학습 레퍼런스