Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

วิธีหาค่าที่ k และค่าสูงสุด k ค่าของ Tensor ใน PyTorch

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])