텐서플로우 데이터 집합은 텐서플로우가 이미 설치되어 있을 것으로 예상하며 현재 텐서플로우(또는 텐서플로우 gpu) >= 1.15.0에 따라 달라집니다. MNIST 데이터 집합은 이미지 분류에 사용되는 가장 일반적인 데이터 집합 중 하나이며 다양한 소스에서 액세스할 수 있습니다. 사실, 텐서플로우와 케라스조차도 MNIST 데이터 세트를 API에서 직접 가져오고 다운로드할 수 있습니다. 따라서 Keras API에서 텐서 플로우 및 MNIST 데이터 집합을 가져오는 다음 두 줄로 시작합니다. 또한 데이터 집합의 모양을 파악하여 컨볼루션 신경망으로 전달해야 합니다. 따라서 다음 코드와 함께 numpy 배열의 “shape” 특성을 사용합니다: MNIST 데이터 집합은 http://yann.lecun.com/exdb/mnist/ 공개적으로 사용할 수 있으며 다음과 같은 네 부분으로 구성됩니다: – 교육 세트 이미지: 기차-이미지-idx3-ubyte.gz (9.9 MB, 47 MB 압축 해제) 및 60,000개의 샘플) – 트레이닝 세트 라벨: train-labels-idx1-ubyte.gz(29KB, 60KB 압축 해제 및 60,000개의 레이블) – 테스트 세트 이미지: t10k-images-idx3-ubyte.gz(1.6MB, 7.8MB, 지퍼 및 10,00개 라벨) t10k-labels-idx1-ubyte.gz(5KB, 10KB 압축 해제 및 10,000개의 레이블) 컨볼루션 레이어는 데이터 집합의 이미지에서 피처를 추출하는 첫 번째 레이어입니다. 픽셀은 인접 픽셀과 가까운 픽셀만 관련이 있기 때문에 컨볼루션을 통해 이미지의 여러 부분 간의 관계를 유지할 수 있습니다. 컨볼루션은 기본적으로 픽셀 간의 관계를 잃어도 이미지의 크기를 줄이기 위해 더 작은 픽셀 필터로 이미지를 필터링합니다. 1×1 보폭의 3×3 필터를 사용하여 5×5 이미지에 컨볼루션을 적용하는 경우(각 단계에서 1픽셀 이동). 우리는 3×3 출력 (복잡성64 % 감소)을 가지게될 것입니다. 생성 후 빌더에는 데이터 집합에 대한 유용한 정보가 포함됩니다. 그러나 사용할 데이터 집합의 주요 버전을 지정하고 결과에 사용된 데이터 집합의 버전을 보급하는 것이 좋습니다. 자세한 내용은 데이터 집합 버전 조정에 대한 설명서를 참조하십시오.
Keras API에서 데이터 집합을 사용하려면 4dims numpy 배열이 필요합니다. 그러나 위에서 볼 수 있듯이 배열은 3-dims입니다. 또한 신경망 모델에서 항상 요구되는 대로 데이터를 정규화해야 합니다. RGB 코드를 255(최소 RGB 코드를 뺀 최대 RGB 코드)로 나누어 이를 달성할 수 있습니다. 이 작업은 다음 코드로 수행할 수 있습니다. MNIST 데이터베이스에는 60,000개의 교육 이미지와 미국 인구 조사국 직원과 미국 고등학생이 찍은 10,000개의 테스트 이미지가 포함되어 있습니다[4].