Ikhtisar tensor

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.