원-핫 인코딩 레이블 만들기
원-핫 인코딩은 단일 정수 레이블을 N차원 벡터로 변환하며, 여기서 N은 클래스 개수입니다. 이 벡터는 대부분 0이고, 정답 위치에만 1이 들어갑니다.
이 연습 문제에서는 먼저 y에 대해 수동으로 원-핫 벡터를 만든 다음, PyTorch를 사용해 과정을 더 간단히 처리해 보겠습니다. 데이터셋에는 세 개의 클래스(0, 1, 2)가 있습니다.
numpy(np), torch.nn.functional(F), 그리고 torch는 이미 임포트되어 있습니다.
이 연습은 강의의 일부입니다
PyTorch로 배우는 딥러닝 입문
연습 안내
- 제공된 NumPy 배열을 사용해 정답 레이블
y를 수동으로 원-핫 인코딩하고one_hot_numpy로 저장하세요. - PyTorch를 사용해
y를 원-핫 인코딩하고one_hot_pytorch로 저장하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
y = 1
num_classes = 3
# Create the one-hot encoded vector using NumPy
one_hot_numpy = np.array([____, ____, ____])
# Create the one-hot encoded vector using PyTorch
one_hot_pytorch = F.____(torch.tensor(y), num_classes=____)
print("One-hot vector using NumPy:", one_hot_numpy)
print("One-hot vector using PyTorch:", one_hot_pytorch)