[인공지능수학] tensorflow.keras 경사하강법 최적화 코드

## 첫번째 셀
import tensorflow as tf

## 두번째 셀
print(tf.__version__)

## 세번째 셀 (위 셀에서 버전이 2.15.0이 아니면 현재의 텐서플로우를 아래와 같이 삭제)
!pip uninstall tensorflow

## 네번째 셀 - 삭제가 완료되면 아래와 같이 2.15.0 버전을 재설치
!pip install tensorflow==2.15.0

## 다섯번째 셀 - 다시 버전 확인
print(tf.__version__)

## 여섯번째 셀

# 데이터 정의
height = tf.constant([170, 180, 175, 160], dtype=tf.float32)
foot_size = tf.constant([260, 270, 265, 255], dtype=tf.float32)

# 변수 정의
a = tf.Variable(0.1)  # 초기값 0.1
b = tf.Variable(0.2)  # 초기값 0.2

# 손실 함수 정의
def loss_func():
    loss = tf.constant(0.0, dtype=tf.float32)  # loss 초기화
    for i in range(len(height)):
        predicted = height[i] * a + b  # 예측 값
        loss += tf.square(foot_size[i] - predicted)  # 손실 계산
    return loss

# 경사하강법 최적화
opt = tf.keras.optimizers.Adam(learning_rate=0.1)

# 학습 루프
for i in range(100):
    opt.minimize(loss_func, var_list=[a, b])  # 손실 함수 최소화
    print(f"Step {i + 1}, a: {a.numpy()}, b: {b.numpy()}")

코멘트

댓글 남기기

Cha's Record에서 더 알아보기

지금 구독하여 계속 읽고 전체 아카이브에 액세스하세요.

계속 읽기