建立 one-hot 編碼的標籤
One-hot 編碼會把單一的整數標籤轉換成一個含有 N 個元素的向量,其中 N 為類別數。這個向量在正確的位置為 1,其餘為 0。
在這個練習中,你會先手動為 y 建立 one-hot 向量,接著使用 PyTorch 簡化流程。你的資料集共有 3 個類別(0、1、2)。
numpy(np)、torch.nn.functional(F)與 torch 都已替你匯入。
本練習屬於課程
使用 PyTorch 的深度學習入門
練習說明
- 使用提供的 NumPy 陣列,手動將真實標籤
y進行 one-hot 編碼,並儲存為one_hot_numpy。 - 使用 PyTorch 將
y進行 one-hot 編碼,並儲存為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)