PyTorch มีเมธอด torch.kthvalue() เพื่อหาค่าที่ k ของ tensor มันคืนค่าขององค์ประกอบที่ k ของ tensor ที่จัดเรียงตามลำดับจากน้อยไปมาก และดัชนีขององค์ประกอบใน tensor ต้นฉบับ
torch.topk() ใช้หาค่า "k" อันดับแรก มันคืนค่าองค์ประกอบ "k" ที่ใหญ่ที่สุดใน tensor
ขั้นตอน
นำเข้าไลบรารีที่จำเป็น ในตัวอย่าง Python ทั้งหมดต่อไปนี้ ไลบรารี Python ที่จำเป็นคือ torch ตรวจสอบให้แน่ใจว่าคุณติดตั้งแล้ว
สร้าง PyTorch tensor และพิมพ์มัน
คำนวณ torch.kthvalue(input, k) มันคืนค่า tensor สองอัน กำหนด tensor สองอันนี้ให้ตัวแปรใหม่สองตัว "value" และ "index" ที่นี่ input คือ tensor และ k เป็นจำนวนเต็ม
คำนวณ torch.topk(input, k) มันคืนค่า tensor สองอัน tensor แรกมีค่าขององค์ประกอบ "k" อันดับแรก และ tensor ที่สองมีดัชนีขององค์ประกอบเหล่านี้ใน tensor ต้นฉบับ กำหนด tensor สองอันนี้ให้ตัวแปรใหม่ "values" และ "indices"
พิมพ์ค่าและดัชนีขององค์ประกอบที่ k ของ tensor และค่าและดัชนีขององค์ประกอบ "k" อันดับแรกของ tensor
ตัวอย่างที่ 1
โปรแกรม Python นี้แสดงวิธีหาองค์ประกอบที่ k ของ tensor
# โปรแกรม Python หาองค์ประกอบที่ k ของ tensor
# นำเข้าไลบรารีที่จำเป็น
import torch
# สร้าง 1D tensor
T = torch.Tensor([2.334, 4.433, -4.33, -0.433, 5, 4.443])
print("Original Tensor:\n", T)
# หาองค์ประกอบที่ 3 ใน tensor ที่จัดเรียงแล้ว ก่อนอื่นมันจัดเรียง tensor
# ตามลำดับจากน้อยไปมาก แล้วคืนค่าขององค์ประกอบที่ k จาก tensor ที่จัดเรียง
# และดัชนีขององค์ประกอบใน tensor ต้นฉบับ
value, index = torch.kthvalue(T, 3)
# พิมพ์องค์ประกอบที่ 3 พร้อมค่าและดัชนี
print("3rd element value:", value)
print("3rd element index:", index)
ผลลัพธ์
Original Tensor: tensor([ 2.3340, 4.4330, -4.3300, -0.4330, 5.0000, 4.4430]) 3rd element value: tensor(2.3340) 3rd element index: tensor(0)
ตัวอย่างที่ 2
โปรแกรม Python ต่อไปนี้แสดงวิธีหาองค์ประกอบ "k" อันดับแรกหรือใหญ่ที่สุด "k" ของ tensor
# โปรแกรม Python หาองค์ประกอบ top k ของ tensor
# นำเข้าไลบรารีที่จำเป็น
import torch
# สร้าง 1D tensor
T = torch.Tensor([2.334, 4.433, -4.33, -0.433, 5, 4.443])
print("Original Tensor:\n", T)
# หาองค์ประกอบ top k=2 หรือ 2 อันดับแรกของ tensor
# คืนค่า 2 ค่าที่ใหญ่ที่สุดและดัชนีของพวกเขาใน tensor ต้นฉบับ
values, indices = torch.topk(T, 2)
# พิมพ์องค์ประกอบ top 2 พร้อมค่าและดัชนี
print("Top 2 element values:", values)
print("Top 2 element indices:", indices)
ผลลัพธ์
Original Tensor: tensor([ 2.3340, 4.4330, -4.3300, -0.4330, 5.0000, 4.4430]) Top 2 element values: tensor([5.0000, 4.4430]) Top 2 element indices: tensor([4, 5])