시작하기무료로 시작하기

이진 분류 모델

딥러닝 실무에서 주요 업무 중 하나는 이미지 분류 모델을 학습시키는 일이에요. 그중에서도 두 개의 클래스를 구분하는 이진 분류를 자주 접하게 됩니다. 워크플로를 효율화하고 재사용성을 높이기 위해, 앞으로의 프로젝트에도 적용할 수 있는 이진 이미지 분류용 CNN 모델 템플릿을 만들어 보려고 해요.

torch 패키지와 torch.nnnn으로 임포트되어 있습니다. 모든 이미지 크기는 64x64 픽셀입니다.

이 연습은 강의의 일부입니다

PyTorch로 배우는 이미지 딥러닝

강의 보기

연습 안내

  • 입력 채널 3, 출력 채널 16, 커널 크기 3, 스트라이드 1, 패딩 1인 합성곱 층을 생성하세요.
  • 입력 크기가 16x32x32이고 클래스 수가 1인 완전 연결 층을 생성하세요. 제공된 순서대로 값만 포함하세요: (16*32*32, 1).
  • sigmoid 활성화 함수를 생성하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

class BinaryImageClassifier(nn.Module):
    def __init__(self):
        super(BinaryImageClassifier, self).__init__()
        
        # Create a convolutional layer
        self.conv1 = ____(____)
        self.relu = nn.ReLU()
        self.maxpool = nn.MaxPool2d(kernel_size=2, stride=2)
        self.flatten = nn.Flatten()
        
        # Create a fully connected layer
        self.fc = ____(____)
        
        # Create an activation function
        self.sigmoid = ____
코드 편집 및 실행