keras mnist 예제

이제 간단한 신경망 모델을 만들 준비가 되었습니다. 우리는 함수에서 모델을 정의합니다. 나중에 예제를 확장하고 더 나은 점수를 얻으려는 경우에 유용합니다.  Keras는 사용자 친화성, 빠른 프로토타이핑, 모듈화 및 확장성에 초점을 맞춘 고급 신경망 API입니다. Tensorflow, Theano 및 CNTK와 같은 딥 러닝 프레임워크와 함께 작동하므로 많은 소란없이 신경망을 구축하고 훈련할 수 있습니다. 위의 링크에서 이미지를 다운로드할 수 있지만 Keras 라이브러리는 이미 keras.dataset 모듈에서 이러한 숫자의 데이터베이스를 제공합니다. 우리는 몇 가지 전처리 시간을 절약하기 위해,이 모듈에서 사용할 것입니다. 여기에로드 및 데이터 세트에서 14 자리의 임의의 세트를 표시하는 코드입니다 : 안녕하세요, 좋은 예를 들어 감사합니다,하지만 난 어떻게 그물의 상태를 저장합니까, 나는 그물60000 예제에 배운다는 것을 의미, 그것은 테스트하고 10000을 추측하려고하지만 난 항상 사용하려는 경우 예를 들어, 매일 훈련하지 않고 어떻게 사용할 수 있습니까? 글쎄, 먼저 함수 이름으로 내 혼란을 다시해야합니다. 나는 마지막 예에서 동일한 모델로 시작했다, 즉, Softmax와 함께 : 비선형 함수.

그리고 predict_proba()로 활성화할 때 확률 ndarray에서 이진 0 또는 1을 얻었습니다. 그것은 우리의 신경망 훈련의 열매를 얻을 시간이다. 모델이 테스트 세트에서 얼마나 잘 수행되는지 살펴보겠습니다. model.evaluate() 메서드는 모델을 컴파일할 때 정의된 손실 및 메트릭을 계산합니다. 따라서 이 경우 저장된 모델에서 제공한 네트워크 가중치를 사용하여 10,000개의 테스트 예제에서 정확도가 계산됩니다. 예를 들어 마지막 숨겨진 레이어를 분석하여 주어진 이미지의 어떤 부분이 10개의 예측 중 하나를 만드는 데 가장 많이 기여하는지 찾을 수 있습니까? 예제에서 선형 회귀를 수행하여 이미지를 지정하면 선형 회귀를 사용하여 특정 클래스로 표시되는 확률을 계산해야 합니까? 대상 변수를 `핫 인코딩`해야 합니다. 즉, 각 출력 범주에 대해 열이 만들어지고 각 범주에 대해 이진 변수가 입력됩니다. 예를 들어 데이터 집합의 첫 번째 이미지가 5임을 알았습니다.

즉, 배열의 여섯 번째 숫자는 1이고 나머지 배열은 0으로 채워집니다. 이 기사에서는 Keras를 사용하여 MNIST 숫자 데이터 집합에서 99 %의 정확도를 달성하는 CNN을 개발하는 방법을 보여 주어 설명했습니다. 이미지는 다소 단순하기 때문에 (작은 + 흑백), 우리는 딥 러닝 모델이 간단한 아키텍처를 가지고 합리적으로 잘 수행 할 것으로 예상. 우리가 케라스를 설치하는 방법을 다루지 않았다면 그것은 케라스 튜토리얼이 되지 않을 것입니다. 오류 보고서: 다층 지각론 예제가 있는 기준 모델에서 아래 줄에서 다음과 같은 오류가 발생합니다. 대상 확인: target_12에 2차원이 있을 것으로 예상되지만 모양(60000, 10, 2, 2, 2, 2, 2) MNIST 데이터 집합을 다운로드하고 로드하는 것이 mnist.load_data() 함수를 호출하는 것만큼 쉽다는 것을 알 수 있습니다. 위의 예제를 실행하면 아래 이미지가 표시됩니다. Keras에 내장된 np_utils.to_categorical() 도우미 기능을 사용하여 쉽게 이 작업을 수행할 수 있습니다. 컴퓨터는 픽셀을 사용하여 이미지를 볼 수 있습니다. 이미지의 픽셀은 일반적으로 관련이 있습니다.

예를 들어 특정 픽셀 그룹은 이미지 또는 다른 패턴의 가장자리를 나타낼 수 있습니다. 회선은 이미지를 식별하는 데 도움이이것을 사용합니다. tf.keras 모델은 한 번에 예제의 일괄 처리 또는 컬렉션에 대한 예측을 하도록 최적화되어 있습니다.