‘블록과 함께 하는 파이썬 딥러닝 케라스’ 세미나 1

‘밑바닥부터 시작하는 딥러닝’을 통해 우리는 ‘딥러닝이 무엇이고 어떻게 동작하는지’에 대해 답할 수 있게 되었습니다. 이제 실제적인 적용을 해 볼 차례입니다.

텐서플로어나 티아노 등을 사용해 볼 수도 있으나 좀 더 빨리 쉽게 적용하기 위해 케라스를 선택했습니다. 케라스는 정말 쉽고 간결합니다.

케라스 관련 책들을 여러 권 보았지만 ‘블록과 함께 하는 파이썬 딥러닝 케라스’가 가장 쉽게 읽히고 진도를 빠르게 진행하기에 좋다고 판단이 되었습니다.

이 세미나가 끝날 쯤 되면 딥러닝 구현에 대한 막연한 두려움이 걷히길 기대하며 첫 번째 세미나를 진행합니다.

 

1장과 2장을 읽고 케라스를 간단히 살펴보고, 케라스를 설치합니다.

p8. 케라스 – 그 간결함에 빠지다.

케라스는 파이썬으로 구현된 쉽고 간결한 딥러닝 라이브러리이다. 내부적으로 텐서플로우, 티아노, CNTK 등의 딥러닝 전용 엔진이 구동되지만 케라스 사용자는 복잡한 내부 엔진을 알 필요가 없다. 직관적인 API로 쉽게 딥러닝 모델을 구성할 수 있다.

p9. 케라스는 4가지 주요 특징 – 모듈화, 최소주의, 쉬운 확장성, 파이썬 기반

p10. 케라스로 딥러닝 모델을 만들 때는 다음과 같은 순서로 작성한다. 다른 딥러닝 라이브러리와 비슷한 순서이지만 훨씬 직관적이고 간결하다.

  1. 데이터셋 생성하기 – 훈련셋, 검증셋, 시험셋을 생성, 딥러닝 모델의 학습 및 평가를 할 수 있도록 포맷 변환
  2. 모델 구성하기 – 시퀀스 모델 생성하고 레이어를 추가하여 구성하거나 API 사용
  3. 모델 학습과정 설정하기 – compile 함수
  4. 모델 학습시키기 – fit 함수
  5. 학습과정 살펴보기 – 훈련셋, 검증셋의 손실 및 정확도를 측정, 반복 횟수에 따른 손실 및 정확도 추이를 보면서 학습 상황을 판단
  6. 모델 평가하기 – 시험셋으로 학습한 모델을 평가, evaluate 함수
  7. 모델 사용하기 – predict 함수

현재 시점(2018년 3월 17일)에서

 

p29-30의 예제를 실행하면 다음과 같은 런타임에러가 발생합니다.

RuntimeError: To use MKL 2018 with Theano you MUST set “MKL_THREADING_LAYER=GNU” in your environement.

에러 메시지와 같이 시스템 환경변수에 MKL_THREADING_LAYER GNU를 추가하고 그 값을 GNU로 설정하면 됩니다.

 

p30의 예제를 실행하면 다음과 같은 에러가 발생합니다.

TypeError: concat() got an unexpected keyword argument ‘axis’

이것은 텐서플로어를 업그레이드하면 됩니다.

pip install –upgrade tensorflow

About the Author
(주)뉴테크프라임 대표 김현남입니다. 저에 대해 좀 더 알기를 원하시는 분은 아래 링크를 참조하세요. http://www.umlcert.com/kimhn/

Leave a Reply

*