Swift สำหรับ TensorFlow API ใช้ประเภท Tensor
เป็นวิธีหลักในการดำเนินการคำนวณแบบเร่งความเร็ว Tensor
แสดงถึงอาร์เรย์ของค่าหลายมิติ และการดำเนินการบน Tensor
จะถูกส่งไปยังตัวเร่งความเร็วที่มีอยู่โดยอัตโนมัติโดยใช้แบ็กเอนด์หนึ่งในสองแบ็กเอนด์
Tensor
เป็น ข้อมูลทั่วไป เกี่ยวกับประเภทของค่าที่มีอยู่ ประเภทของค่าเหล่านี้จะต้องสอดคล้องกับ TensorFlowScalar
โดยมีประเภททั่วไปคือ Float
, Int32
และ Bool
ตัวอย่างเช่น ในการเริ่มต้น Tensor
ที่มี Float
สองตัวด้วยค่าที่กำหนดไว้ล่วงหน้า คุณสามารถทำสิ่งต่อไปนี้:
let tensor1 = Tensor<Float>([0.0, 1.0, 2.0])
let tensor2 = Tensor<Float>([1.5, 2.5, 3.5])
หากคุณทิ้งพารามิเตอร์ประเภท <Float>
ไว้ Swift จะอนุมานประเภทของ Tensor<Double>
Double
เป็นประเภทเริ่มต้นสำหรับตัวอักษรทศนิยมใน Swift ค่า Float
มักจะพบได้ทั่วไปในการคำนวณของ Machine Learning ดังนั้นเราจึงใช้ค่าดังกล่าวที่นี่
ตัวดำเนินการทั่วไปหลายตัวทำงานกับ Tensor
s ตัวอย่างเช่น หากต้องการเพิ่มสองรายการและรับผลลัพธ์ คุณสามารถทำสิ่งต่อไปนี้:
let tensor3 = tensor1 + tensor2
รายการการดำเนินการทั้งหมดที่คุณสามารถทำได้บน Tensor
มีอยู่ใน เอกสารประกอบ API
_การดำเนินงาน _Raw
การทำงานของ Tensor
ได้รับการสนับสนุนโดยวิธีการทำงานกับตัวเร่งความเร็วที่แตกต่างกันสองวิธี แต่ก็มีอินเทอร์เฟซระดับสูงที่เป็นหนึ่งเดียว ภายใต้ประทุนนั้น การดำเนินการ _Raw
ถูกกำหนดให้ส่งไปยังเวอร์ชัน _RawXLA
หรือ _RawTFEager
ขึ้นอยู่กับแบ็กเอนด์ที่ใช้สำหรับ Tensor
ที่เป็นปัญหา การเชื่อมโยง _Raw
เหล่านี้กับ TensorFlow หรือ X10 จะถูกสร้างขึ้นโดยอัตโนมัติ
โดยปกติ คุณไม่จำเป็นต้องโต้ตอบกับการดำเนินการ _Raw
โดยตรง อินเทอร์เฟซ Idiomatic Swift ได้รับการสร้างขึ้นจากสิ่งเหล่านี้ และนั่นคือวิธีการคำนวณ Tensor
โดยทั่วไป
อย่างไรก็ตาม การดำเนินการพื้นฐานของ TensorFlow ไม่ใช่ทั้งหมดที่มีอินเทอร์เฟซ Swift ที่ตรงกัน ดังนั้นคุณอาจต้องเข้าถึงตัวดำเนินการ _Raw
ในโค้ดของคุณเป็นครั้งคราว หากคุณต้องการทำเช่นนั้น มี บทช่วยสอนแบบโต้ตอบ เพื่อสาธิตวิธีการทำงาน