classes = [
"setosa",
"versicolor",
"virginica"
# "T-shirt/top",
# "Trouser",
# "Pullover",
# "Dress",
# "Coat",
# "Sandal",
# "Shirt",
# "Sneaker",
# "Bag",
# "Ankle boot",
]
model.eval()
x, y = test_data[0][0], test_data[0][1]
with torch.no_grad():
pred = model(x)
#クイックスタートはモデルの最終段がReLUでpredが[[]]、
#今回作ったものはモデルの最終段がLinearなのでpredは[]になっていた。
#理由はわからないが今回作ったものはpred[0]ではエラーになる。
# predicted, actual = classes[pred[0].argmax(0)], classes[y]
predicted, actual = classes[pred.argmax(0)], classes[y]
print(f'Predicted: "{predicted}", Actual: "{actual}"')
最後にテストデータ30個全部試してみます。
ok=0
ng=0
for i in range(len(test_data)):
x, y = test_data[i][0], test_data[i][1]
# print(x,y)
with torch.no_grad():
pred = model(x)
# predicted, actual = classes[pred[0].argmax(0)], classes[y]
# print(pred)
# print(pred.argmax(0))
predicted, actual = classes[pred.argmax(0)], classes[y]
if predicted == actual:
result='OK!'
ok+=1
else:
result='NG'
ng+=1
print(f'Predicted: "{predicted}", Actual: "{actual}",result:"{result}"')
print(f'OK:"{ok}",NG:"{ng}"')
テスト結果は30個中28個正解2個不正解でした。