创建 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)