이 repo에는 Pytorch 1.7, Torchvision 0.8, Matplotlib 3.3 및 Scikit-Learn 0.24, Python 3.8을 사용한 이미지 분류를 다루는 자습서가 포함되어 있습니다.
다층 퍼셉트론 (MLP)을 구현 한 다음 CNN (Convolutional Neural Networks)을 사용하여 아키텍처로 이동하여 시작합니다. 특히 Lenet, Alexnet, VGG 및 RESNET을 구현하겠습니다.
실수를 찾거나 설명에 동의하지 않으면 주저하지 말고 문제를 제출하십시오. 나는 긍정적이든 부정적인 피드백을 환영합니다!
Pytorch를 설치하려면 Pytorch 웹 사이트의 설치 지침을 참조하십시오.
Pytorch를 설치하는 지침은 또한 Torchvision을 설치하는 방법을 자세히 설명해야하지만 다음을 통해 설치할 수도 있습니다.
pip install torchvision1- 다층 퍼셉트론
이 튜토리얼은 Pytorch 및 Torchvision에 대한 소개를 제공합니다. 데이터 세트로드, 데이터 확대, 다층 퍼셉트론 (MLP)을 정의하고 모델을 훈련 시키며 모델의 출력을보고 모델의 표현을 시각화하며 모델의 가중치를 볼 방법을 배웁니다. 실험은 MNIST 데이터 세트 - 28x28 필기 그레이 스케일 숫자 세트에서 수행됩니다.
2- 레넷
이 튜토리얼에서는 클래식 Lenet 아키텍처를 구현합니다. 우리는 Convolutional Neural Networks와 Convolutional 레이어 및 서브 샘플링 (일명 풀링) 층이 어떻게 작동하는지 살펴볼 것입니다.
3 -Alexnet
이 튜토리얼에서 우리는 딥 러닝에 대한 현재의 관심을 시작하는 데 도움이되는 Convolutional Neural Network Architecture 인 Alexnet을 구현할 것입니다. 우리는 CIFAR10 데이터 세트 -32x32 컬러 이미지로 10 개의 클래스로 이동합니다. 우리는 다음과 같이 보여줍니다. nn.Sequential 사용하여 아키텍처를 정의하는 방법, 신경망의 매개 변수를 초기화하는 방법 및 학습 속도 파인더를 사용하여 초기 학습 속도를 결정하는 방법을 보여줍니다.
4- vgg
이 튜토리얼은 VGG 모델 구현을 다룹니다. 그러나 모델을 처음부터 교육하는 대신 Imagenet 데이터 세트에 미리 훈련 된 VGG 모델을로드하고 차별적 미세 조정이라는 기술을 사용하여 전송 학습을 수행하는 방법을 보여줍니다. 또한 적응 형 풀링 층과 배치 정규화가 어떻게 작동하는지 설명합니다.
5 -RESNET
이 튜토리얼에서는 RESNET 모델을 구현합니다. CUB200 데이터 세트를 예로 사용하여 자신의 데이터 세트를로드하는 방법과 교육 중에 모델의 학습 속도를 동적으로 변경하는 학습 속도 스케줄러를 사용하는 방법을 보여줍니다. 구체적으로, 우리는이 백서에 도입 된 하나의 사이클 정책을 사용하며 이제 컴퓨터 비전 모델을 훈련시키는 데 일반적으로 사용되기 시작합니다.
이 튜토리얼을 만드는 동안 내가 본 것들이 다음과 같습니다. 그 중 일부는 구식 일 수 있습니다.