Ilmu Data

Tutorial Python Tensorflow

Tutorial Python Tensorflow
Dalam pelajaran ini, kita akan melihat TensorFlow, yang merupakan perpustakaan pembelajaran mesin sumber terbuka yang digunakan untuk merancang, membangun, dan melatih model pembelajaran mendalam. Dimungkinkan untuk melakukan komputasi numerik dengan pustaka TensorFlow di mana grafik aliran data di mana operasi matematika direpresentasikan sebagai node dan data direpresentasikan sebagai tepi di antara node tersebut.

Secara keseluruhan, kita akan membahas tiga topik utama dalam pelajaran ini:

  1. Apa itu Tensor dan TensorFlow
  2. Menerapkan algoritme ML dengan TensorFlow
  3. Kasus penggunaan TensorFlow

TensorFlow adalah paket Python luar biasa dari Google yang memanfaatkan paradigma pemrograman aliran data dengan baik untuk perhitungan matematis yang sangat optimal. Beberapa fitur TensorFlow adalah:

Karena semua fitur ini dan berbagai algoritme pembelajaran mesin yang diterapkan TensorFlow, menjadikannya pustaka skala produksi. Mari selami konsep di TensorFlow sehingga kita bisa membuat tangan kita kotor dengan kode setelahnya.

Memasang TensorFlow

Karena kami akan menggunakan Python API untuk TensorFlow, ada baiknya mengetahui bahwa ini berfungsi dengan Python 2.7 dan 3.3+ versi. Mari kita instal perpustakaan TensorFlow sebelum kita beralih ke contoh dan konsep yang sebenarnya. Ada dua cara untuk menginstal paket ini. Yang pertama termasuk menggunakan pengelola paket Python, pip:

pip instal tensorflow

Cara kedua berkaitan dengan Anaconda, kita dapat menginstal paket sebagai:

conda install -c conda-forge tensorflow

Jangan ragu untuk mencari versi nightly build dan GPU di halaman instalasi resmi TensorFlow.

Saya akan menggunakan manajer Anaconda untuk semua contoh dalam pelajaran ini. Saya akan meluncurkan Notebook Jupyter untuk hal yang sama:

Sekarang setelah kita siap dengan semua pernyataan impor untuk menulis beberapa kode, mari kita mulai menyelami paket SciPy dengan beberapa contoh praktis.

Apa itu Tensor??

Tensor adalah struktur data dasar yang digunakan dalam Tensorflow. Ya, itu hanyalah cara untuk merepresentasikan data dalam pembelajaran mendalam. Mari kita visualisasikan mereka di sini:

Seperti yang dijelaskan dalam gambar, tensor dapat disebut sebagai array n-dimensi yang memungkinkan kita untuk merepresentasikan data dalam dimensi yang kompleks. Kita dapat menganggap setiap dimensi sebagai fitur data yang berbeda dalam pembelajaran mendalam. Ini berarti bahwa Tensor dapat berkembang menjadi sangat kompleks dalam hal kumpulan data yang kompleks dengan banyak fitur.

Setelah kita mengetahui apa itu Tensor, menurut saya cukup mudah untuk mengetahui apa yang terjadi di TensorFlow. Istilah itu berarti bagaimana tensor atau fitur dapat mengalir dalam kumpulan data untuk menghasilkan keluaran yang berharga saat kami melakukan berbagai operasi di atasnya.

Memahami TensorFlow dengan Konstanta

Sama seperti yang kita baca di atas, TensorFlow memungkinkan kita melakukan algoritme pembelajaran mesin di Tensor untuk menghasilkan keluaran yang berharga. Dengan TensorFlow, merancang dan melatih model Deep Learning sangatlah mudah.

TensorFlow hadir dengan bangunan Grafik Komputasi. Grafik Komputasi adalah grafik aliran data di mana operasi matematika direpresentasikan sebagai node dan data direpresentasikan sebagai tepi antara node tersebut. Mari kita menulis cuplikan kode yang sangat sederhana untuk memberikan visualisasi konkret:

impor tensorflow sebagai tf
x = tf.konstan (5)
y = tf.konstan (6)
z = x * y
cetak(z)

Ketika kita menjalankan contoh ini, kita akan melihat output berikut:

Kenapa perkaliannya salah?? Bukan itu yang kami harapkan. Ini terjadi karena ini bukan cara kami melakukan operasi dengan TensorFlow. Pertama, kita harus memulai sidang untuk membuat grafik komputasi berfungsi,

Dengan Sesi, kita bisa merangkum kontrol operasi dan status Tensor. Ini berarti bahwa sesi juga dapat menyimpan hasil grafik komputasi sehingga dapat meneruskan hasil tersebut ke operasi berikutnya dalam urutan eksekusi pipeline. Mari buat sesi sekarang untuk mendapatkan hasil yang benar:

# Mulai dengan objek sesi
sesi = tf.Sidang()
# Berikan perhitungan ke sesi dan simpan
hasil = sesi.lari(z)
# Cetak hasil perhitungan
cetak (hasil)
# Tutup sesi
sidang.Menutup()

Kali ini, kami memperoleh sesi dan menyediakannya dengan komputasi yang diperlukan untuk berjalan di node. Ketika kita menjalankan contoh ini, kita akan melihat output berikut:

Meskipun kami menerima peringatan dari TensorFlow, kami masih mendapatkan hasil yang benar dari perhitungan.

Operasi Tensor elemen tunggal

Sama seperti apa yang kami kalikan dengan dua Tensor konstan dalam contoh terakhir, kami memiliki banyak operasi lain di TensorFlow yang dapat dilakukan pada elemen tunggal:

Operasi elemen tunggal berarti bahwa bahkan ketika Anda menyediakan array, operasi akan dilakukan pada setiap elemen array itu. Sebagai contoh:

impor tensorflow sebagai tf
impor numpy sebagai np
tensor = np.larik([2, 5, 8])
tensor = tf.convert_to_tensor(tensor, dtype=tf.float64)
dengan tf.Sesi() sebagai sesi:
cetak (sesi.lari(tf.cos(tensor)))

Ketika kita menjalankan contoh ini, kita akan melihat output berikut:

Kami memahami dua konsep penting di sini:

  1. Array NumPy apa pun dapat dengan mudah diubah menjadi Tensor dengan bantuan fungsi convert_to_tensor
  2. Operasi dilakukan pada setiap elemen array NumPyP

Placeholder dan Variabel

Di salah satu bagian sebelumnya, kita melihat bagaimana kita dapat menggunakan konstanta Tensorflow untuk membuat grafik komputasi. Tetapi TensorFlow juga memungkinkan kita untuk mengambil input saat dijalankan sehingga grafik komputasi dapat bersifat dinamis. Ini dimungkinkan dengan bantuan Placeholder dan Variabel.

Sebenarnya, Placeholder tidak mengandung data apa pun dan harus diberikan input yang valid selama runtime dan seperti yang diharapkan, tanpa input, mereka akan menghasilkan kesalahan.

Placeholder dapat disebut sebagai kesepakatan dalam grafik bahwa input pasti akan diberikan saat runtime. Berikut adalah contoh Placeholder:

impor tensorflow sebagai tf
# Dua tempat penampung
x = tf. pengganti (tf.mengapung32)
y = tf. pengganti (tf.mengapung32)
# Menetapkan operasi perkalian w.r.untuk. Sebuah & b ke simpul mul
z = x * y
# Buat sesi
sesi = tf.Sidang()
# Lulus nilai untuk placeholder
hasil = sesi.jalankan(z, x: [2, 5], y: [3, 7])
print('Perkalian x dan y:', hasil)

Ketika kita menjalankan contoh ini, kita akan melihat output berikut:

Sekarang kita memiliki pengetahuan tentang Placeholder, mari kita beralih ke Variabel. Kita tahu bahwa output dari suatu persamaan dapat berubah untuk set input yang sama dari waktu ke waktu. Jadi, ketika kami melatih variabel model kami, itu dapat mengubah perilakunya dari waktu ke waktu. Dalam skenario ini, sebuah variabel memungkinkan kita untuk menambahkan parameter yang dapat dilatih ini ke grafik komputasi kita. Sebuah Variabel dapat didefinisikan sebagai berikut:

x = tf.Variabel( [5.2], tipe d = tf.mengapung32 )

Dalam persamaan di atas, x adalah variabel yang diberikan nilai awalnya dan tipe datanya. Jika kami tidak memberikan tipe data, itu akan disimpulkan oleh TensorFlow dengan nilai awalnya. Lihat tipe data TensorFlow di sini.

Tidak seperti konstanta, kita perlu memanggil fungsi Python untuk menginisialisasi semua variabel grafik:

init = tf.global_variables_initializer()
sidang.jalankan (init)

Pastikan untuk menjalankan fungsi TensorFlow di atas sebelum kita menggunakan grafik kita.

Regresi Linier dengan TensorFlow

Regresi Linier adalah salah satu algoritma yang paling umum digunakan untuk membangun hubungan dalam data kontinu yang diberikan. Hubungan antara titik koordinat, misalkan x dan y, disebut a hipotesa. Ketika kita berbicara tentang Regresi Linier, hipotesisnya adalah garis lurus:

y = mx + c

Di sini, m adalah kemiringan garis dan di sini, itu adalah vektor yang mewakili beban. c adalah koefisien konstan (y-intercept) dan di sini, itu mewakili bias. Bobot dan bias disebut parameter model.

Regresi linier memungkinkan kita untuk memperkirakan nilai bobot dan bias sedemikian rupa sehingga kita memiliki nilai minimum fungsi biaya. Akhirnya, x adalah variabel bebas dalam persamaan dan y adalah variabel terikat. Sekarang, mari kita mulai membangun model linier di TensorFlow dengan cuplikan kode sederhana yang akan kami jelaskan:

impor tensorflow sebagai tf
# Variabel untuk parameter kemiringan (W) dengan nilai awal 1.1
W = tf.Variabel([1.1], tf.mengapung32)
# Variabel untuk bias (b) dengan nilai awal -1.1
b = tf.Variabel([-1.1], tf.mengapung32)
# Placeholder untuk memberikan input atau variabel independen, dilambangkan dengan x
x = tf.pengganti (tf.mengapung32)
# Persamaan Garis atau Regresi Linier
linear_model = W * x + b
# Inisialisasi semua variabel
sesi = tf.Sidang()
init = tf.global_variables_initializer()
sidang.jalankan (init)
# Jalankan model regresi
cetak (sesi.jalankan(model_linier x: [2, 5, 7, 9]))

Di sini, kami melakukan apa yang kami jelaskan sebelumnya, mari rangkum di sini:

Ketika kita menjalankan contoh ini, kita akan melihat output berikut:

Cuplikan kode sederhana hanya memberikan ide dasar tentang bagaimana kita dapat membangun model regresi. Namun kita masih perlu melakukan beberapa langkah lagi untuk menyelesaikan model yang kita buat:

Fungsi Rugi dan Validasi Model

Untuk memvalidasi model, kita perlu memiliki ukuran seberapa menyimpang keluaran arus dari keluaran yang diharapkan. Ada berbagai fungsi kerugian yang dapat digunakan di sini untuk validasi tetapi kita akan melihat salah satu metode yang paling umum common, Jumlah Kesalahan Kuadrat atau SSE.

Persamaan untuk SSE diberikan sebagai:

E = 1/2 * (t - y)2

Sini:

Sekarang, mari kita menulis potongan kode sebagai kelanjutan dari potongan terakhir untuk mencerminkan nilai kerugian:

y = tf.pengganti (tf.mengapung32)
kesalahan = linear_model - y
kuadrat_kesalahan = tf.persegi (kesalahan)
rugi = tf.kurangi_sum(kesalahan_kuadrat)
cetak (sesi.lari(kalah, x:[2, 5, 7, 9], y:[2, 4, 6, 8]))

Ketika kita menjalankan contoh ini, kita akan melihat output berikut:

Jelas, nilai kerugian sangat rendah untuk model regresi linier yang diberikan.

Kesimpulan

Dalam pelajaran ini, kita melihat salah satu paket Deep learning dan Machine learning yang paling populer, TensorFlow. Kami juga membuat model regresi linier yang memiliki akurasi yang sangat tinggi.

Aplikasi Pemetaan Gamepad Terbaik untuk Linux
Jika Anda suka bermain game di Linux dengan gamepad alih-alih sistem input keyboard dan mouse biasa, ada beberapa aplikasi yang berguna untuk Anda. Ba...
Alat Berguna untuk Gamer Linux
Jika Anda suka bermain game di Linux, kemungkinan besar Anda telah menggunakan aplikasi dan utilitas seperti Wine, Lutris, dan OBS Studio untuk mening...
Game Remaster HD untuk Linux yang Belum Pernah Rilis Linux Sebelumnya
Banyak pengembang dan penerbit game datang dengan remaster HD dari game lama untuk memperpanjang umur waralaba, harap penggemar meminta kompatibilitas...