두 개의 출력이 있는 모델 아키텍처
이 연습 문제에서는 문자(character)와 알파벳(alphabet)을 모두 예측할 수 있는 다중 출력 신경망 아키텍처를 만들어 볼 거예요.
일반적인 구조를 떠올려 보세요. .__init__() 메서드에서는 이후 순전파에서 사용할 레이어들을 정의합니다. forward() 메서드에서는 먼저 입력 이미지를 몇 개의 레이어에 통과시켜 임베딩을 만들고, 이 임베딩을 두 개의 분리된 분류기 레이어에 각각 전달해 두 개의 출력을 얻습니다.
torch.nn은 일반적인 별칭으로 이미 임포트되어 있으니, 이제 모델을 만들어 봅시다!
이 연습은 강의의 일부입니다
PyTorch로 배우는 Intermediate Deep Learning
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
class Net(nn.Module):
def __init__(self):
super().__init__()
self.image_layer = nn.Sequential(
nn.Conv2d(1, 16, kernel_size=3, padding=1),
nn.MaxPool2d(kernel_size=2),
nn.ELU(),
nn.Flatten(),
nn.Linear(16*32*32, 128)
)
# Define the two classifier layers
____ = ____
____ = ____