시작하기무료로 시작하기

원-핫 인코딩 레이블 만들기

원-핫 인코딩은 단일 정수 레이블을 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)
코드 편집 및 실행