mnist tensorflow 예제

August 2, 2019 at 6:44 pm

다음은 원하는 경우 교육을 위한 사용자 지정 변수를 할당할 수 있는 위치입니다. 아래의 모든 대문자에 있는 모든 값은 변경되고 엉망이 되도록 설계되었습니다. 사실, 나는 그것을 격려! 먼저 이러한 값을 사용한 다음 나중에 학습 예제를 너무 적거나 학습 률이 너무 높거나 낮게 사용할 때 어떤 일이 발생하는지 확인합니다. MNIST 데이터 집합은 28×28 픽셀 흑백 이미지로 포맷된 60,000개의 교육 예제와 10,000개의 손으로 쓴 숫자 0-9의 테스트 예제로 구성됩니다. 다음 예제는 TensorFlow에 대한 단순화된 인터페이스를 제공하는 라이브러리인 TFLearn에서 제공됩니다. 당신은 모양을 가질 수 있습니다, 많은 예와 미리 빌드 된 작업 및 레이어가 있습니다. 다음은 여러 교육 예제가 평평한 형태로 분류자에게 어떻게 보이는지입니다. 물론, 픽셀 대신, 우리의 분류자는 픽셀 강도를 나타내는 0에서 하나까지의 값을 본다: 이제 그래프를 실행하기 위한 세션을 초기화할 준비가 되었습니다. 이 세션에서는 교육 예제를 사용하여 네트워크에 공급하고 교육을 받은 후 동일한 그래프에 새 테스트 예제를 사용하여 모델의 정확도를 결정합니다. 파일에 다음 코드 줄 추가: 업데이트(07/14/2019): 몇 가지 TensorFlow v2 예제를 추가했습니다! (더 곧). TensorFlow는 모델의 비정규화 예측에 소프트맥스를 내부적으로 적용하고 모든 클래스에 걸쳐 합계를 적용하는 tf.nn.softmax_cross_entropy_with_logits라는 함수를 제공합니다.

tf.reduce_mean 함수는 이러한 합계에 대한 평균을 차지합니다. 이렇게 하면 더 최적화할 수 있는 함수를 얻을 수 있습니다. 이 예제에서는 tf.train API에서 그라데이션 하강 방법을 사용합니다. 그래서, 여기에서 우리는 우리의 처음 세 가지 교육 예에 대한 우리의 예측을 볼 수 있습니다. 물론, 우리의 분류는이 시점에서 아무것도 모른다, 그래서 그것은 가능한 각 클래스에 대 한 우리의 교육 예제의 동일한 10% 확률을 출력. 이제 각 단계를 로깅하지 않고 모델을 더 길게 학습하기 위해 단계=1000을 설정하지만 이 예제를 실행하기에는 적절한 시간입니다. 교육 CN은 계산 집약적입니다. 모델의 정확도를 높이려면 20,000단계와 같이 기차에 전달된 단계 수를 늘립니다. 이 자습서에서 사용할 데이터 집합을 MNIST 데이터 집합이라고 하며 기계 학습 커뮤니티의 고전입니다.

이 데이터 집합은 손으로 쓴 숫자의 이미지로 구성됩니다, 28×28 픽셀 크기. 다음은 데이터 집합에 포함된 숫자의 몇 가지 예입니다: 경고:텐서플로우:From:2: read_data_set (tensorflow.contrib.learn.python.learn.mnist)은 더 이상 사용되지 않으며 이후 버전에서 제거됩니다. 우리는 백 엔드에 텐서 플로우 또는 테아노 중 하나를 사용하는 높은 수준의 Keras API를 사용하여 모델을 구축 할 것입니다. 계층, Keras 및 추정기와 같은 몇 가지 높은 수준의 TensorFlow API가 있어 높은 수준의 지식을 가진 신경망을 만드는 데 도움이 됩니다. 그러나 구현 구조가 모두 다르기 때문에 혼동을 초래할 수 있습니다. 따라서 동일한 신경망에 대해 완전히 다른 코드가 표시되면 모두 텐서플로우를 사용하지만 이것이 그 이유입니다.