Path: blob/master/site/ko/tutorials/quickstart/beginner.ipynb
37941 views
Copyright 2019 The TensorFlow Authors.
텐서플로 2.0 시작하기: 초보자용
이 짧은 소개 글은 Keras를 사용하여 다음을 수행합니다.
사전에 빌드한 데이터세트를 로드합니다.
이미지를 분류하는 신경망 머신 러닝 모델을 빌드합니다.
이 신경망을 훈련합니다.
모델의 정확도를 평가합니다.
이 문서는 구글 코랩(Colaboratory) 노트북 파일입니다. 파이썬 프로그램을 브라우저에서 직접 실행할 수 있기 때문에 텐서플로를 배우고 사용하기 좋은 도구입니다:
파이썬 런타임(runtime)에 연결하세요: 메뉴 막대의 오른쪽 상단에서 CONNECT를 선택하세요.
노트북의 모든 코드를 실행하려면 Runtime(런타임) > **Run all(모두 실행)**을 선택합니다. 코드 셀을 한 번에 하나씩 실행하려면 각 셀 위로 마우스를 이동하고 Run cell(셀 실행) 아이콘을 선택합니다.
![]()
TensorFlow 설정하기
시작하려면 TensorFlow를 프로그램으로 가져옵니다.
MNIST 데이터셋을 로드하여 준비합니다. 샘플 값을 정수에서 부동소수로 변환합니다:
참고: 자체 개발 환경을 사용하는 경우에 TensorFlow 2 패키지를 설치하려면 최신 pip로 업그레이드했는지 확인합니다. 자세한 내용은 설치 가이드를 참조합니다.
데이터세트 로드하기
MNIST 데이터세트를 로드하고 준비합니다. 이미지의 픽셀 값 범위는 0~255입니다. 이때 값을 255.0으로 나누어 0~1 범위로 조정합니다. 그러면 샘플 데이터를 정수에서 부동 소수점 숫자로 변환합니다.
머신 러닝 모델 빌드하기
tf.keras.Sequential 모델을 빌드합니다.
tf.nn.softmax 함수는 다음과 같이 이러한 로짓을 각 클래스에 대한 확률로 변환합니다.
참고: tf.nn.softmax 함수를 네트워크의 마지막 레이어에 대한 활성화 함수로 베이킹할 수 있습니다. 이렇게 하면 모델 출력을 더 직접적으로 해석할 수 있지만 이 접근법은 소프트맥스 출력을 사용할 경우 모든 모델에 대해 정확하고 수치적으로 안정적인 손실 계산을 제공하는 것이 불가능하므로 권장하지 않습니다.
losses.SparseCategoricalCrossentropy를 사용하여 훈련용 손실 함수를 정의합니다.
손실 함수는 실측 값의 벡터와 로짓의 벡터를 취하고 각 예시에 대한 스칼라 손실을 반환합니다. 이 손실은 참(true) 클래스의 음의 로그 확률과 같습니다. 모델이 올바른 클래스를 확신하는 경우 손실은 0입니다.
이 훈련되지 않은 모델은 무작위에 가까운 확률(각 클래스에 대해 1/10)을 제공하므로 초기 손실은 -tf.math.log(1/10) ~= 2.3에 근접해야 합니다.
훈련을 시작하기 전에 Keras Model.compile을 사용하여 모델을 구성하고 컴파일합니다. optimizer 클래스를 adam으로 설정하고 loss를 앞에서 정의한 loss_fn 함수로 설정합니다. metrics 매개변수를 accuracy로 설정하여 모델에 대해 평가할 메트릭을 지정합니다.
모델 훈련 및 평가하기
모델을 훈련하고 평가합니다:
훈련된 이미지 분류기는 이 데이터셋에서 약 98%의 정확도를 달성합니다. 더 자세한 내용은 TensorFlow 튜토리얼을 참고하세요.
모델이 확률을 반환하도록 하려면 다음과 같이 훈련된 모델을 래핑하고 여기에 소프트맥스를 첨부할 수 있습니다.
결론
축하합니다! Keras API를 사용하는 사전에 빌드한 데이터세트를 사용하여 머신 러닝 모델을 훈련했습니다.
Keras를 사용하는 더 많은 예시는 튜토리얼을 확인하세요. Keras로 모델을 빌드하는 방법에 대해 자세히 알아보려면 가이드를 읽어보세요. 데이터 로드 및 준비에 대해 자세히 알아보려면 이미지 데이터 로드 또는 CSV 데이터 로드에 대한 튜토리얼을 참조하세요.
TensorFlow.org에서 보기
구글 코랩(Colab)에서 실행하기
깃허브(GitHub) 소스 보기
Download notebook