Swift untuk TensorFlow API menggunakan tipe Tensor
sebagai sarana utama untuk melakukan komputasi yang dipercepat. Tensor
mewakili array nilai multidimensi, dan operasi pada Tensor
secara otomatis dikirim ke akselerator yang tersedia menggunakan salah satu dari dua backend.
Tensor
bersifat umum tentang jenis nilai yang dikandungnya. Tipe nilai ini harus sesuai dengan TensorFlowScalar
, dengan tipe yang umum adalah Float
, Int32
, dan Bool
. Misalnya, untuk menginisialisasi dua Tensor
yang berisi Float
dengan beberapa nilai yang telah ditentukan, Anda dapat melakukan hal berikut:
let tensor1 = Tensor<Float>([0.0, 1.0, 2.0])
let tensor2 = Tensor<Float>([1.5, 2.5, 3.5])
Jika Anda tidak menyertakan parameter tipe <Float>
, Swift akan menyimpulkan tipe Tensor<Double>
. Double
adalah tipe default untuk literal floating-point di Swift. Nilai Float
cenderung lebih umum dalam penghitungan pembelajaran mesin, jadi kami menggunakannya di sini.
Banyak operator umum yang bekerja pada Tensor
. Misalnya, untuk menjumlahkan dua di antaranya dan mendapatkan hasilnya, Anda dapat melakukan hal berikut:
let tensor3 = tensor1 + tensor2
Daftar lengkap operasi yang dapat Anda lakukan pada Tensor
tersedia di dokumentasi API .
_Operasi _Raw
Operasi Tensor
didukung oleh dua cara berbeda untuk bekerja dengan akselerator, namun keduanya memiliki antarmuka tingkat tinggi yang terpadu. Di balik terpal, operasi _Raw
didefinisikan yang dikirim ke versi _RawXLA
atau _RawTFEager
, bergantung pada backend yang digunakan untuk Tensor
yang dimaksud. Pengikatan _Raw
ke TensorFlow atau X10 ini dibuat secara otomatis.
Biasanya, Anda tidak perlu berinteraksi dengan operasi _Raw
secara langsung. Antarmuka Swift idiomatis telah dibuat di atasnya, dan begitulah cara Anda biasanya melakukan penghitungan Tensor
.
Namun, tidak semua operasi TensorFlow yang mendasarinya memiliki antarmuka Swift yang cocok, sehingga terkadang Anda mungkin perlu mengakses operator _Raw
dalam kode Anda. Jika Anda perlu melakukannya, tersedia tutorial interaktif untuk mendemonstrasikan cara kerjanya.