tensorflow cnn 예제

이제 가중치의 최적 값에 도달하기 위해 최소화할 비용을 정의해 보겠습니다. 우리는 마지막으로 완전히 연결된 레이어와 실제 레이블의 출력을 소요 Tensorflow 함수 softmax_cross_entropy_with_logits를 사용하여 계산되는 간단한 비용을 사용하여 그 평균우리에게 비용을 줄 것이다 cross_entropy을 계산합니다. 신경망의 아키텍처를 설계할 때 결정해야 할 사항: 레이어를 어떻게 정렬합니까? 어떤 레이어를 사용할 것인가? 각 층 등에서 얼마나 많은 뉴런을 사용할 수 있습니까? 아키텍처를 설계하는 것은 약간 복잡하고 고급 주제이며 많은 연구가 필요합니다. 많은 표준 문제에 대 한 좋은 작동 하는 많은 표준 아키텍처가 있다. 예는 알렉스넷, 구글넷, 인셉션레스넷, VGG 등입니다. 처음에는 표준 네트워크 아키텍처만 사용해야 합니다. 신경망에 대한 많은 경험을 쌓은 후에 네트워크 설계를 시작할 수 있습니다. 따라서, 지금 그것에 대해 걱정하지 말자. 예제 코드 및 자습서: https://www.tensorflow.org/tutorials/estimators/cnn 예제 예제 코드 및 자습서: https://www.datacamp.com/community/tutorials/cnn-tensorflow-python 이것은 비용의 매우 간단한 예이지만 실제 교육에서 많이 사용합니다. 크로스 엔트로피 비용과 같은 더 복잡한 비용 측정.

그러나 Tensorflow는 이러한 비용의 대부분을 구현하므로 이 시점에서 이러한 비용의 세부 사항에 대해 걱정할 필요가 없습니다. 따라서 레이블과 함께 학습 이미지가 교육에 사용되므로 일반적인 교육 정확도는 유효성 검사보다 높습니다. 교육 정확도를 보고하여 최소한 올바른 방향으로 이동하고 있으며 최소한 교육 데이터 집합의 정확도를 개선하고 있음을 알 수 있습니다. 각 에보치 후, 우리는 정확도 숫자를보고텐서 플로우에서 세이버 객체를 사용하여 모델을 저장합니다. 컨볼루션 신경망 기반 이미지 분류기를 구축하는 방법을 시연하기 위해 개 이미지를 고양이의 이미지와 식별하고 분리하는 6층 신경망을 구축합니다. 우리가 구축 할이 네트워크는 CPU에서 실행할 수있는 매우 작은 네트워크입니다. 이미지 분류를 수행하는 데 매우 능숙한 기존 신경망에는 더 많은 매개 변수가 있으며 CPU에서 학습하는 경우 많은 시간이 소요됩니다. 그러나, 이 게시물에서, 내 목표는 ILSVRC에 참여 하는 대신 Tensorflow를 사용 하 여 실제 컨볼루션 신경 망을 구축 하는 방법을 보여.

텐서플로우 튜토리얼을 시작하기 전에 컨볼루션 신경망의 기본을 살펴보겠습니다. conv-nets에 이미 익숙한 경우(그리고 conv-net이라고 부름) 2부 즉 Tensorflow 자습서로 이동할 수 있습니다. 패션-MNIST 데이터 집합은 여기에서 확인할 수 있습니다. Keras 또는 Scikit-Learn 패키지와 달리 TensorFlow에는 패션 MNIST 데이터 집합을 로드하기 위해 미리 정의된 모듈이 없지만 기본적으로 MNIST 데이터 집합이 있습니다. 데이터를 로드하려면 먼저 위의 링크에서 데이터를 다운로드한 다음 아래와 같이 특정 폴더 형식으로 데이터를 구성하여 작업할 수 있어야 합니다. 그렇지 않으면 텐서플로우가 원래 MNIST를 다운로드하여 사용합니다. 텐서플로우는 대부분의 최적화 기능을 구현합니다. 그라데이션 계산 및 중량 최적화를 위해 AdamOptimizer를 사용해야 합니다.

우리는 0.0001의 학습 속도로 비용을 최소화하기 위해 노력하고 있음을 지정합니다. 먼저 numpy, matplotlib 및 가장 중요한 텐서플로우와 같은 모든 필수 모듈을 가져오는 것으로 시작합니다. 뒤로 전파라는 프로세스를 사용하여 최적의 매개 변수 집합을 찾을 수 있습니다.