시작하기무료로 시작하기

데이터를 더 늘려야 할까요?

이제 여러분이 만든 digits 데이터셋model이 더 많은 학습 예시에서 이점을 얻는지 확인해 볼 차례예요!

코드를 최소화하기 위해 여러 요소가 이미 초기화되어 준비되어 있어요:

  • 방금 구성한 model.
  • X_train, y_train, X_test, y_test.
  • model.get_weights()로 저장해 둔 모델의 initial_weights.
  • 미리 정의된 학습 크기 목록: training_sizes.
  • 손실을 모니터링하는 미리 정의된 조기 종료 콜백: early_stop.
  • 평가 결과를 저장할 빈 리스트 두 개: train_accstest_accs.

서로 다른 학습 크기에서 모델을 학습시키고, X_test에서 결과를 평가하세요. 마지막으로 plot_results()로 결과를 시각화해 마무리하세요.

이 연습 문제의 전체 코드는 슬라이드에서 확인할 수 있어요!

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

Keras로 시작하는 딥 러닝

강의 보기

연습 안내

  • 반복문에서 현재 평가 중인 size에 따라 학습 데이터의 일부를 가져오세요.
  • set_weights()로 모델 가중치를 initial_weights로 설정하고, 해당 학습 데이터 일부로 모델을 학습시키되 콜백으로 early_stop을 사용하세요.
  • 학습 데이터 일부와 테스트 세트에 대한 정확도를 평가해 저장하세요.
  • 각 학습 크기에 대한 학습/테스트 정확도를 전달해 plot_results()를 호출하세요.

실습형 인터랙티브 연습

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

for size in training_sizes:
  	# Get a fraction of training data (we only care about the training data)
    X_train_frac, y_train_frac = X_train[:size], y_train[:size]

    # Reset the model to the initial weights and train it on the new training data fraction
    model.set_weights(____)
    model.fit(X_train_frac, y_train_frac, epochs = 50, callbacks = [early_stop])

    # Evaluate and store both: the training data fraction and the complete test set results
    train_accs.append(model.evaluate(____, ____)[1])
    test_accs.append(model.evaluate(____, ____)[1])
    
# Plot train vs test accuracies
plot_results(____, ____)
코드 편집 및 실행