Tensors adalah struktur data primer yang menggunakan TensorFlow untuk beroperasi pada grafik komputasi. Kita dapat mendeklarasikan tensors sebagai variabel dan atau feed mereka sebagai placeholders. Pertama kita harus tahu cara membuat tensors.
Saat kami membuat tensor dan menyatakannya sebagai variabel, TensorFlow membuat beberapa struktur grafik dalam grafik komputasi. Hal ini juga penting untuk menunjukkan bahwa hanya dengan menciptakan tensor, TensorFlow tidak menambahkan apa pun ke grafik komputasional.
Saat kami membuat tensor dan menyatakannya sebagai variabel, TensorFlow membuat beberapa struktur grafik dalam grafik komputasi. Hal ini juga penting untuk menunjukkan bahwa hanya dengan menciptakan tensor, TensorFlow tidak menambahkan apa pun ke grafik komputasional.
Di sini kita akan mencakup cara utama untuk menciptakan tensors di TensorFlow:
1. Fixed tensors
Membuat tensor nol. Menggunakan berikut:
zero_tsr = tf.zeros ([row_dim, col_dim])
Membuat tensor satu. Menggunakan berikut:
ones_tsr = tf.ones ([row_dim, col_dim])
Membuat tensor konstan. Menggunakan berikut:
filled_tsr = tf.fill ([row_dim, col_dim], 42)
Membuat tensor dari konstan yang sudah ada. Menggunakan berikut:
constant_tsr = tf.constant([1,2,3])
fungsi tf.constant() dapat digunakan untuk broadcast nilai ke dalam sebuah array, meniru perilaku tf.fill() dengan menulis TF.Constant (42, [row_dim, col_dim])
2. Tensors of similar shape
Kita juga dapat menginisialisasi variabel berdasarkan bentuk tensors lainnya, sebagai berikut:
zeros_similar = tf.zeros_like(constant_tsr)
ones_similar = tf.ones_like(constant_tsr)
Perhatikan, bahwa karena tensors ini bergantung pada tensors sebelumnya, kita harus menginisialisasi mereka dalam urutan. Mencoba untuk menginisialisasi semua tensors sekaligus akan menghasilkan kesalahan.
3. Sequence tensors
TensorFlow memungkinkan kita untuk menentukan tensor yang mengandung interval yang ditentukan. Fungsi-fungsi berikut berperilaku sangat mirip dengan output range() dan numpy's linspace(). Lihat fungsi berikut:
linear_tsr = tf.linspace(start=0, stop=1, start=3)
Tensor yang dihasilkan adalah urutan [0,0, 0,5, 1,0]. Perhatikan bahwa fungsi ini termasuk stop value yang ditentukan. Lihat fungsi berikut:
integer_seq_tsr = tf.range (start = 6, limit = 15, delta = 3)
Hasilnya adalah urutan [6, 9, 12]. Perhatikan bahwa fungsi ini tidak termasuk limit value.
4. Random tensors
Nomor acak yang dihasilkan berikut ini berasal dari distribusi uniform:
randunif_tsr = tf.random_uniform ([row_dim, col_dim],minval = 0, maxval = 1)
Perhatikan bahwa distribusi random uniform ini diambil dari interval yang menyertakan minval tetapi bukan maxval (minval <= x <maxval).
Untuk mendapatkan tensor dengan penarikan acak dari distribusi normal, sebagai berikut:
randnorm_tsr = tf.random_normal([row_dim, col_dim],mean=0.0, stddev=1.0)
Ada juga saat-saat ketika kita ingin menghasilkan nilai-nilai acak normal yang dijamin dalam batas-batas tertentu. Fungsi truncated_normal() selalu mengambil nilai normal dalam dua standar deviasi dari rata-rata tertentu. Lihat berikut ini:
runcnorm_tsr = tf.truncated_normal([row_dim, col_dim],mean=0.0, stddev=1.0)
Kita mungkin juga tertarik untuk mengacak entri dari array. Untuk mencapai ini, ada dua fungsi yang membantu kita: random_shuffle () dan random_crop (). Lihat yang berikut:
shuffled_output = tf.random_shuffle(input_tensor)
cropped_output = tf.random_crop(input_tensor, crop_size)
Setelah kami memutuskan cara membuat tensor, maka kita juga bisa
membuat variabel yang sesuai dengan wrapping tensor dalam fungsi Variabel () sebagai berikut:
my_var = tf.Variable(tf.zeros([row_dim, col_dim]))
Kita tidak terbatas pada fungsi built-in. Kita dapat mengkonversi array numpy ke daftar Python, atau konstan ke tensor menggunakan fungsi convert_to_tensor (). Perhatikan bahwa fungsi ini juga menerima tensor sebagai input jika kita ingin mengeneralisasi perhitungan di dalam fungsi.
zeros_similar = tf.zeros_like(constant_tsr)
ones_similar = tf.ones_like(constant_tsr)
Perhatikan, bahwa karena tensors ini bergantung pada tensors sebelumnya, kita harus menginisialisasi mereka dalam urutan. Mencoba untuk menginisialisasi semua tensors sekaligus akan menghasilkan kesalahan.
3. Sequence tensors
TensorFlow memungkinkan kita untuk menentukan tensor yang mengandung interval yang ditentukan. Fungsi-fungsi berikut berperilaku sangat mirip dengan output range() dan numpy's linspace(). Lihat fungsi berikut:
linear_tsr = tf.linspace(start=0, stop=1, start=3)
Tensor yang dihasilkan adalah urutan [0,0, 0,5, 1,0]. Perhatikan bahwa fungsi ini termasuk stop value yang ditentukan. Lihat fungsi berikut:
integer_seq_tsr = tf.range (start = 6, limit = 15, delta = 3)
Hasilnya adalah urutan [6, 9, 12]. Perhatikan bahwa fungsi ini tidak termasuk limit value.
4. Random tensors
Nomor acak yang dihasilkan berikut ini berasal dari distribusi uniform:
randunif_tsr = tf.random_uniform ([row_dim, col_dim],minval = 0, maxval = 1)
Perhatikan bahwa distribusi random uniform ini diambil dari interval yang menyertakan minval tetapi bukan maxval (minval <= x <maxval).
Untuk mendapatkan tensor dengan penarikan acak dari distribusi normal, sebagai berikut:
randnorm_tsr = tf.random_normal([row_dim, col_dim],mean=0.0, stddev=1.0)
Ada juga saat-saat ketika kita ingin menghasilkan nilai-nilai acak normal yang dijamin dalam batas-batas tertentu. Fungsi truncated_normal() selalu mengambil nilai normal dalam dua standar deviasi dari rata-rata tertentu. Lihat berikut ini:
runcnorm_tsr = tf.truncated_normal([row_dim, col_dim],mean=0.0, stddev=1.0)
Kita mungkin juga tertarik untuk mengacak entri dari array. Untuk mencapai ini, ada dua fungsi yang membantu kita: random_shuffle () dan random_crop (). Lihat yang berikut:
shuffled_output = tf.random_shuffle(input_tensor)
cropped_output = tf.random_crop(input_tensor, crop_size)
Setelah kami memutuskan cara membuat tensor, maka kita juga bisa
membuat variabel yang sesuai dengan wrapping tensor dalam fungsi Variabel () sebagai berikut:
my_var = tf.Variable(tf.zeros([row_dim, col_dim]))
Kita tidak terbatas pada fungsi built-in. Kita dapat mengkonversi array numpy ke daftar Python, atau konstan ke tensor menggunakan fungsi convert_to_tensor (). Perhatikan bahwa fungsi ini juga menerima tensor sebagai input jika kita ingin mengeneralisasi perhitungan di dalam fungsi.
Mendeklarasikan Tensor
Reviewed by Jimmy Pujoseno
on
March 29, 2018
Rating:
No comments: