one-hot エンコードされたラベルを作成する
One-hot エンコーディングは、単一の整数ラベルを要素数 N(N はクラス数)のベクトルに変換します。このベクトルは 0 を並べ、正しい位置にだけ 1 が入ります。
この演習では、まず y の one-hot ベクトルを手動で作成し、その後 PyTorch を使って処理を簡単にします。データセットのクラスは 3 つ(0、1、2)です。
numpy(np)、torch.nn.functional(F)、および torch はすでにインポートされています。
この演習はコースの一部です
PyTorchで学ぶIntroduction to Deep Learning
演習の手順
- 提供された 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)