Processor

텐서프로우 예제-간단한 선형 회귀 모델

작성자 임베디드코리아 작성일25-11-28 09:25 조회8회 댓글0건
1. 훈련 데이터 생성: 입력 변수 x_train과 목표 변수 y_train을 생성합니다. 2. 가중치와 편향 변수 정의: 모델이 학습할 가중치 w와 편향 b 변수를 정의합니다. 3. 모델 정의: linear_regression() 함수를 사용하여 선형 함수를 정의합니다. 4. 손실 함수 정의: loss() 함수를 사용하여 평균 제곱 오차를 계산하는 손실 함수를 정의합니다.
5. 최적화 알고리즘 선택: 경사 하강법 최적화 알고리즘을 선택하고, 학습률을 설정합니다. 6. 훈련 함수 정의: train_step() 함수를 정의하여 순전파, 손실 계산, 기울기 계산, 가중치 및 편향 업데이트를 수행합니다. 7. 훈련: 지정한 에포크 수만큼 훈련을 반복하여 모델을 학습시킵니다. 8. 예측 결과 확인: 테스트 데이터 x_test에 대한 예측 결과를 출력합니다.
출처: https://jofresh.tistory.com/entry/파이썬딥러닝-TensorFlow-개념-정리-및-예제-코드 [Fresh life: 신선한 인생:티스토리]
--< dPwp thtmzhem >
import tensorflow as tf
import numpy as np

# 훈련 데이터 생성
x_train = np.array([1, 2, 3, 4, 5], dtype=np.float32)
y_train = np.array([2, 4, 6, 8, 10], dtype=np.float32)

# 가중치와 편향 변수 정의
w = tf.Variable(0.0)
b = tf.Variable(0.0)

# 모델 정의 (선형 함수)
def linear_regression(x):
    return w * x + b

# 손실 함수 정의 (평균 제곱 오차)
def loss(y, y_pred):
    return tf.reduce_mean(tf.square(y - y_pred))

# 최적화 알고리즘 선택 (경사 하강법)
optimizer = tf.optimizers.SGD(learning_rate=0.01)

# 훈련 함수 정의
def train_step(x, y):
    with tf.GradientTape() as tape:
        # 순전파 계산
        y_pred = linear_regression(x)
        # 손실 계산
        loss_value = loss(y, y_pred)
   
    # 가중치와 편향에 대한 기울기 계산
    gradients = tape.gradient(loss_value, [w, b])
   
    # 최적화 알고리즘을 사용하여 가중치와 편향 업데이트
    optimizer.apply_gradients(zip(gradients, [w, b]))

# 훈련
epochs = 1000
for epoch in range(epochs):
    # 한 번의 훈련 스텝 수행
    train_step(x_train, y_train)

# 훈련된 모델의 예측 결과 확인
x_test = np.array([6, 7, 8, 9, 10], dtype=np.float32)
y_pred = linear_regression(x_test)
print("예측 결과:", y_pred.numpy())
출처: https://jofresh.tistory.com/entry/파이썬딥러닝-TensorFlow-개념-정리-및-예제-코드 [Fresh life: 신선한 인생:티스토리]