TensorFlow 모델 적합

Anika Tabassum Era 2024년2월15일
TensorFlow 모델 적합

TensorFlow 라이브러리에서 제공하는 model.fit() 메서드는 기계 학습 과정에서 시간을 절약합니다. 일반적으로 특정 모델을 구축할 때 훈련 기능을 설정해야 하는데, 이는 많은 제약과 코딩의 번거로움이 필요합니다.

기본 모델에 대한 이러한 문제를 완화하려면 model.fit()이 매우 유용할 수 있습니다.

반대로 model.fit()이 훈련 세션을 처리할 때 model.evaluate()는 훈련된 모델을 기반으로 임의의 입력에서 예상 출력 데이터를 추출합니다. 두 가지 방법 모두 의사 결정과 가치 창출의 경우 필연적인 역할을 합니다.

다음 섹션에서는 Keras에서 Sequential() 모델에 대한 model.fit() 메서드를 구현하는 방법을 살펴보겠습니다. 데모는 기본 개념으로 이루어지며 라이브 코드 데모도 이 스레드에서 제공됩니다. 의 시작하자!

TensorFlow model.fit() 사용

모델의 교육 및 테스트를 시작하려면 유효한 데이터 세트가 필요합니다. 이 경우 독립적인 값 집합과 해당 종속 값이 있는 데이터 세트를 생성합니다.

나중에 방정식이 설정된 대로 값을 플롯할 수 있는지 알아보기 위해 산점도를 표시합니다. 이 드라이브의 코드는 다음과 같습니다.

# Necessary Imports
from tensorflow.keras import layers
import matplotlib.pyplot as plt
from tensorflow import keras
import tensorflow as tf
import numpy as np
import os

# Generating random data
x = np.random.uniform(0.0, 1.0, (500))
y = 0.3 + 0.5 * x + np.random.normal(0.0, 0.3, len(x))

plt.scatter(x, y)

출력:

TensorFlow 1에서 Modelfit 사용

모델과 이에 대한 Dense 레이어를 시작합니다. Dense 레이어는 입력 및 예상 출력 차원을 정의했습니다.

또한 모델에 대한 손실 기능과 최적화를 설정합니다. 다음 코드는 단어를 나타냅니다.

model = (
    keras.Sequential()
)  # Sequential for 1D data correlating (as we only have x[independent] and y[dependent])
model.add(tf.keras.layers.Dense(1, input_shape=(1,)))
model.compile(loss="mse", optimizer="rmsprop")

TensorFlow model.fit()model.evaluate() 사용

이제 model.fit()model.evaluate()를 검토하여 훈련이 올바르게 이루어졌는지 확인하고, 또한 model.fit()에서 마지막 epoch의 loss 함수와 평가된 메소드의 loss 함수가 일치하는지 확인합니다. 그리고 일치한다면, 우리는 모델이 올바르게 훈련되었고, 우리 시스템이 이러한 제약 조건을 충족하는 모든 값을 식별할 수 있다고 말할 수 있습니다.

여기서는 훈련에서 batch_size(샘플)를 500개의 데이터에서 100으로 설정합니다. 그리고 테스트에서 배치 크기를 500으로 지정했습니다.

시스템은 에포크 번호가 더 큰 100개의 샘플에 대한 지식을 얻을 수 있었습니다.

print("train: ", model.fit(x, y, epochs=600, batch_size=100))

# The evaluate() method - gets the loss statistics
print("test: ", model.evaluate(x, y, batch_size=500))

출력:

Tensorflow 2에서 Modelfit 사용

TensorFlow 3에서 modelfit 사용

Anika Tabassum Era avatar Anika Tabassum Era avatar

Era is an observer who loves cracking the ambiguos barriers. An AI enthusiast to help others with the drive and develop a stronger community.

LinkedIn Facebook