시작하기무료로 시작하기

배치로 선형 모델 학습하기

이 연습에서는 이전 연습에서 이어서, 선형 회귀 모델을 배치 단위로 학습해 보겠습니다. 데이터셋을 배치로 순회하면서 매 스텝마다 모델의 변수 interceptslope를 업데이트할 거예요. 이렇게 하면 메모리에 한 번에 올리기 어려운 큰 데이터셋도 학습할 수 있습니다.

손실 함수 loss_function(intercept, slope, targets, features)는 미리 정의되어 있습니다. 또한 keras는 이미 임포트되어 있고, numpynp로 사용할 수 있어요. 학습 가능한 변수는 손실 함수의 인자 순서에 맞춰 var_list에 입력해야 합니다.

이 연습은 강의의 일부입니다

Python으로 시작하는 TensorFlow

강의 보기

연습 안내

  • .Adam() 옵티마이저를 사용하세요.
  • 'kc_house_data.csv'chunksize 100으로 배치 로딩하세요.
  • batch에서 price 열을 추출해 32비트 부동소수 타입의 numpy 배열로 변환하고, price_batch에 할당하세요.
  • 손실 함수를 완성하고, 학습 가능한 변수 목록을 채운 뒤, 최소화를 수행하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# Initialize Adam optimizer
opt = keras.optimizers.____

# Load data in batches
for batch in pd.read_csv('____', ____=____):
	size_batch = np.array(batch['sqft_lot'], np.float32)

	# Extract the price values for the current batch
	price_batch = np.array(batch['____'], np.____)

	# Complete the loss, fill in the variable list, and minimize
	opt.minimize(lambda: loss_function(____, slope, price_batch, size_batch), var_list=[intercept, ____])

# Print trained parameters
print(intercept.numpy(), slope.numpy())
코드 편집 및 실행