Keras_01

전사영·2024년 10월 29일

Keras란 무엇인가?

keras는 딥러닝 모델을 쉽게 빠르게 개발할 수 있도록 돕는 오픈소스 딥러닝 프레임워크입니다. 고수준 API를 제공하여 복잡한 신경망 모델을 간단한 코드로 정의할 수 있게 해줍니다. 현재 Tensorflow의 기본 구성 요소로 통합되어 사용됩니다.

keras 실습 코드

from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
import numpy as np

#1. 데이터
x = np.array([1,2,3,4,5,6]) #데이터를 추가했다. 
y = np.array([1,2,3,4,5,6])

#2. 모델구성
model = Sequential()
model.add(Dense(1, input_dim=1))

#3. 컴파일훈련
model.compile(loss='mse', optimizer='adam')
model.fit(x, y, epochs=360)

#4. 평가, 예측
loss = model.evaluate(x, y)
print("로스 : ", loss) #로스를 추가했다. 
result = model.predict([1,2,3,4,5,6,7]) #예측 데이터를 추가했다. 
print("7의 예측값 :", result)

딥러닝을 위한 기본 구조는 위와 같습니다.

  1. 데이터를 불러와 전처리를 진행한다.

  2. 모델을 구성한다.

  3. 컴파일, 훈련을 진행한다.

  4. 평가, 예측을 진행한다.

from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
import numpy as np

필요한 요소들을 라이브러리에서 불러옵니다.

#1. 데이터
x = np.array([1,2,3,4,5,6]) #데이터를 추가했다. 
y = np.array([1,2,3,4,5,6])

데이터는 위와 같습니다.

#2. 모델구성
model = Sequential()
model.add(Dense(1, input_dim=1))
model.add(Dense(1))
  • model은 Sequential( )로 정의해줍니다.

  • 정의된 model에 .add( ) 메소드를 추가합니다.

  • dnn 모델을 구성하기 위해서 add 내부에 Dense를 사용해줍니다.

  • Dense에는 input_dim 즉 input되는 x 데이터 셋의 차원이 입력됩니다.

  • 최종 layer의 Dense에 입력된 숫자는 output_dimension입니다.

#3. 컴파일훈련
model.compile(loss='mse', optimizer='adam')
model.fit(x, y, epochs=360)
  • 모델의 compile 과정에서 사용된 손실 함수는 'mse'입니다.

  • optimizer는 'adam'입니다.

  • 모델을 훈련하기 위해서 .fit()메소드를 사용합니다.

  • fit()에는 x데이터, y데이터, epochs 즉 훈련 회수를 지정해줍니다.

#4. 평가, 예측
loss = model.evaluate(x, y)
print("로스 : ", loss) #로스를 추가했다. 
result = model.predict([1,2,3,4,5,6,7]) #예측 데이터를 추가했다. 
print("7의 예측값 :", result)
  • 모델을 평가하여 도출된 값은 loss입니다.
  • 평가가 완료된 모델에 예측하기 원하는 값을 넣었을 때에 y값을 예측하여 도출합니다.
profile
매일 조금씩!

0개의 댓글