tensorflow mnist 예제

TensorFlow MNIST 데이터 집합 분류를 사용하면 파이썬 외부에서 완전히 실행되는 상호 작용 작업의 그래프를 설명할 수 있다는 이점이 있습니다. 첫째, 우리는 TF로 가져 텐서 플로우를 사용하여 TensorFlow 라이브러리를 가져 오기 당신은 자리 표시자를 만들, 당신이 사용하는 계산을 실행하도록 라이브러리를 요청할 때 입력 할 값은 모든 예제를 다운로드, 단순히이 저장소를 복제 : 그것은 밝혀, 에 정확도 테스트 데이터 집합은 학습 데이터 집합의 정확도보다 약간 적습니다. 교육 정확도와 테스트 정확도 간의 이러한 차이는 과적합의 예입니다. 오버피팅은 기계 학습 모델이 학습 데이터보다 새 데이터에서 더 나쁜 성능을 발휘하는 경우입니다. MNIST 데이터 집합은 이미지 분류에 사용되는 가장 일반적인 데이터 집합 중 하나이며 다양한 소스에서 액세스할 수 있습니다. 사실, 텐서플로우와 케라스조차도 MNIST 데이터 세트를 API에서 직접 가져오고 다운로드할 수 있습니다. 따라서 Keras API에서 텐서 플로우 및 MNIST 데이터 집합을 가져오는 다음 두 줄로 시작합니다. 따라서 병합된 데이터를 가져와 모양을 바그고 예제를 표시하고 관련 레이블을 인쇄하는 사용자 지정 함수 중 하나를 사용하여 임의의 이미지를 끌어올수 있습니다(참고: 파이썬을 계속 사용하려면 창 매트플롯을 닫아야 합니다) 시작하기만 하면 됩니다. 텐서플로우의 최신 버전이 설치되었습니다. 먼저 모델 폴더를 파이썬 경로에 추가했는지 확인하십시오. 그렇지 않으면 ImportError: official.mnist라는 모듈이 없는 등의 오류가 발생할 수 있습니다. 우리는 백 엔드에 텐서 플로우 또는 테아노 중 하나를 사용하는 높은 수준의 Keras API를 사용하여 모델을 구축 할 것입니다. 계층, Keras 및 추정기와 같은 몇 가지 높은 수준의 TensorFlow API가 있어 높은 수준의 지식을 가진 신경망을 만드는 데 도움이 됩니다.

그러나 구현 구조가 모두 다르기 때문에 혼동을 초래할 수 있습니다. 따라서 동일한 신경망에 대해 완전히 다른 코드가 표시되면 모두 텐서플로우를 사용하지만 이것이 그 이유입니다. 나는 Keras인 가장 간단한 API를 사용합니다. 따라서 Keras에서 순차 모델을 가져오고 Conv2D, 최대 풀링, 병합, 드롭아웃 및 조밀한 레이어를 추가합니다. 나는 이미 Conv2D, 맥스 풀링 및 밀도 레이어에 대해 이야기했다. 또한, 드롭아웃 레이어는 완전히 연결된 레이어를 구축하기 전에 2D 배열을 1D 배열로 평평하게 하는 동안 트레이닝하는 동안 일부 뉴런을 무시하여 오버피팅과 싸웁니다. TensorFlow는 심층 신경망 아키텍처를 구축하고 딥 러닝을 수행할 수 있는 플랫폼입니다. 이 시나리오에서는 분류 작업에 TensorFlow를 사용하는 방법을 보여 주며, 이 시나리오에서는 TensorFlow를 사용하는 방법을 보여 주며, 이 시나리오에서는 분류 작업에 대해 설명합니다. 교육은 딥 러닝 예제에 대한 Hello 세계로 간주되는 MNIST 데이터 집합에서 수행됩니다.

내용은 공식 텐서플로우 튜토리얼을 기반으로합니다. 네트워크를 통해 이미지의 미니 배치를 공급하는 각 교육 단계의 100회 반복 후 해당 배치의 손실과 정확도를 인쇄합니다. 전체 모델이 아니라 일괄 처리당 값이기 때문에 손실 감소와 정확도 증가를 기대하지 않아야 합니다. 우리는 개별적으로 이미지를 공급하는 대신 이미지의 미니 배치를 사용하여 교육 프로세스를 가속화하고 네트워크가 매개 변수를 업데이트하기 전에 여러 가지 다른 예제를 볼 수 있도록 합니다. 학습 속도는 학습 프로세스의 각 단계에서 매개 변수가 얼마나 조정되는지나타냅니다. 이러한 조정은 교육의 핵심 구성 요소입니다: 네트워크를 통과할 때마다 가중치를 약간 조정하여 손실을 줄입니다. 학습 속도가 클수록 더 빠르게 수렴할 수 있지만 업데이트될 때 최적의 값을 오버슈트할 수도 있습니다.