다음은 훈련 스텝으로 훈련 데이터를 받아 이 데이터에 대한 손실을 최소화하도록 가중치 W와 b를 업데이트합니다.
코드 3-20 훈련 스텝 함수
0.1
def training_step( , ):
with tf.GradientTape() as : ➊
= model( )
= square_loss( , ) ➊
, = tape.gradient(loss, [W, b]) ➋
W.assign_sub( * ) ➌
b.assign_sub( * ) ➌
return loss
= ➊ 그레이디언트 테이프 블록 안의 정방향 패스
➋ 가중치에 대한 손실의 그레이디언트를 구합니다.
➌ 가중치를 업데이트합니다.