텐서플로우 cnn 예제

텐서플로우는 유명한 딥 러닝 프레임워크입니다. 이 블로그 게시물에서는 이 매우 인기 있는 Python 라이브러리의 기본 사항을 배우고 이러한 깊고 피드 포워드 인공 신경망을 구현하는 방법을 이해할 수 있습니다. TensorFlow 계산 그래프는 딥 러닝 모델을 학습하는 동안 발생하는 작업의 흐름을 나타냅니다. CNN 모델의 경우 계산 그래프는 매우 복잡할 수 있습니다. 다음은 간단한 그래프의 예입니다. 텐서보드를 사용하여 모델의 계산 그래프를 시각화할 수 있습니다. 이 경우 tf.float32를 사용하여 데이터 형식을 명시적으로 제공했습니다. 따라서 이 데이터 형식은 32비트 형태로 저장되는 단일 정밀도입니다. 그러나 첫 번째 예제와 마찬가지로 이 작업을 수행하지 않는 경우 TensorFlow는 초기화 된 값에서 상수 / 변수의 형식을 유추합니다. 오른쪽에는 누적 된 출력이 표시되고 별도로 학습된 필터가 각각 자체 2D 출력을 생성합니다(2D 이미지의 경우).

이를 여러 채널을 갖는 것으로 지칭하기도 합니다. 이러한 각 채널은 이미지의 특정 주요 기능을 감지하도록 학습됩니다. 따라서 컨볼루션 레이어의 출력은 실제로 3차원이 됩니다(다시 2D 이미지의 경우). RGB 레이어가 있는 컬러 이미지의 경우처럼 입력 자체가 다중 채널링인 경우 컨볼루션 레이어의 출력은 4D가 됩니다. 고맙게도, 나중에 보여 질 것 이다, TensorFlow 아주 쉽게이 매핑의 모든 처리할 수 있습니다. 이전 두 개의 자습서 게시물에서 신경망에 대한 소개와 TensorFlow에 대한 소개, 3계층 신경망이 만들어지고 MNIST 데이터 집합을 예측하는 데 사용되었습니다. 그들은 97-98 %의 순서로 성공적인 예측 정확도로 꽤 잘 수행했습니다. 그러나 네트워크의 정확성을 향상시키는 다음 단계를 수행하려면 딥 러닝을 탐구해야 합니다. 이미지 분류를 위한 딥 러닝 신경망의 특히 유용한 유형은 컨볼루션 신경망입니다. 컨볼루션 신경망은 열렬 예측과 같은 이미지 이외의 응용 프로그램에도 사용될 수 있습니다(반복 신경망은 또한 타임시리즈 예측에서 좋습니다 – 여기 내 자습서 참조). 그러나 이 자습서에서는 이미지 분류에만 중점을 두습니다.

TensorFlow로 작업할 때 상수, 변수 및 자리 표시자가 입력 데이터, 클래스 레이블, 가중치 및 바이어스를 정의하는 데 편리합니다. 여기에 기능은 오프 라 텐서 플로우 CNN 튜토리얼에서 것과 정확히 동일합니다. 1 개의 라이너 함수가 정의되어 있는 것은 별로 표시되지 않지만 이러한 단계에서 더 복잡한 작업이 수행되고 있다고 생각할 수 있습니다.