My Data Story
[딥러닝] 인공 신경망 - 케라스 API 소개 본문
◈ '인공 신경망' 목차 ◈
3. 케라스 API 소개
딥러닝 API 중 가장 많이 사용되는 케라스 API 에 대해 살펴보고, 텐서플로우 기반의 케라스 구현 방법을 살펴보자.
1. 딥러닝 API
케라스는 모든 종류의 신경망을 손쉽게 만들고 훈련, 평가, 실행할 수 있는 고수준 딥러닝 API이다.
케라스는 계산 백엔드에 의존하여 신경망에 필요한 많은 연산을 수행한다.
인기 있는 세 가지 딥러닝 라이브러리 중에서 백엔드를 선택할 수 있었다.
˙ 텐서플로
˙ 마이크로소프트 코그니티브 툴킷(CNTK)
˙ 시애노
혼동을 피하기 위해 이를 멀티백엔드 케라스라고 부르겠다.
2016년 후반부터 다른 구현이 릴리스되기 시작했다.
˙ Apache MXNet
˙ 애플의 Core ML
˙ 자바스크립트나 타입스크립트 - 웹브라우저에서 케라스 코드를 실행할 때
˙ PlaidML - 엔비디아 뿐 아니라 모든 종류의 GPU 장치에서 실행할 때
또한 텐서플로는 자체적인 케라스 구현인 tf.keras를 번들로 포함시켜, 이 구현은 백엔드로 텐서플로만 지원한다.
대신 데이터 적재와 전처리를 간편하게 수행할 수 있는 텐서플로 데이터 API를 지원함으로써 장점을 추가하였다.
텐서플로와 케라스 다음으로 인기 있는 딥러닝 라이브러리가 페이스북 파이토치이다.
이 API는 케라스와 매우 비슷하여, 케라스를 배운고 나서 파이토치를 배우는 것은 어렵지 않을 것이다.
2. 텐서플로로 구현하기
2.1 텐서플로2 설치
$ python3 -m pip install -U tensorflow
======================================================================================
import tensorflow as tf
from tensorflow import keras
print(tf.__version__)
#(출력) '2.0.0'
print(kears.__version__)
#(출력) '2.2.4-tf'
#-tf 접미사는 tf.keras가 텐서플로 특화된 기능이 추가되어 케라스 API를 구현했다는 것을 나타냅니다.
2.2 텐서플로 상 임포팅 방식
■ 방법1
전체 경로를 활용하여 코딩 시, 장황하지만 어떤 패키지를 사용하는 지 쉽게 알 수 있고 표준 클래스와 사용자 정의 클래스 사이에서 혼란을 피할 수 있다.
from tensorflow import keras
output_layer = keras.layers.Dense(10)
■ 방법2
실전에서는 해당 임포팅 방식을 선호한다.
from tensorflow.keras.layer import Dense
output_layer = Dense(10)
'Deep Learning' 카테고리의 다른 글
[딥러닝] 인공신경망 - 서브클래싱 API 구현 (0) | 2021.09.04 |
---|---|
[딥러닝] 인공 신경망 - 함수형 API 구현 (0) | 2021.09.04 |
[딥러닝] 인공 신경망 - 시퀀셜 API 구현 (0) | 2021.09.04 |
[딥러닝] 인공 신경망 - 다층 퍼셉트론 (0) | 2021.09.04 |
[딥러닝] 인공 신경망 - 퍼셉트론 (0) | 2021.09.04 |