Tutorial TensorFlow - Deep Learning Menggunakan TensorFlow



Tutorial TensorFlow adalah blog ketiga dalam seri ini. Ini mencakup semua dasar-dasar TensorFlow. Ini juga berbicara tentang cara membuat model linier sederhana.

Tutorial TensorFlow ini saya rancang untuk para profesional dan penggemar yang tertarik menerapkan Algoritma Deep Learning menggunakan TensorFlow untuk menyelesaikan berbagai masalah. TensorFlow adalah library deep learning open source yang didasarkan pada konsep grafik aliran data untuk membuat model. Ini memungkinkan Anda membuat jaringan neural skala besar dengan banyak lapisan.Mempelajari penggunaan perpustakaan ini juga merupakan bagian fundamental dari .Berikut topik-topik yang akan dibahas dalam blog tutorial TensorFlow ini:

  • Apa itu TensorFlow
  • Dasar-dasar Kode TensorFlow
  • UseCase TensorFlow

Apa itu Tensor?

Dalam tutorial TensorFlow ini, sebelum membahas tentang TensorFlow, mari kita pahami terlebih dahulu apa itu tensor . Tensor tidak lain adalah de facto untuk merepresentasikan data dalam pembelajaran mendalam.





Tensor - Tutorial TensorFlow - EdurekaSeperti yang ditunjukkan pada gambar di atas, tensor hanyalah array multidimensi, yang memungkinkan Anda merepresentasikan data yang memiliki dimensi lebih tinggi. Secara umum, Deep Learning Anda menangani kumpulan data berdimensi tinggi di mana dimensi merujuk ke berbagai fitur yang ada dalam kumpulan data. Faktanya, nama 'TensorFlow' berasal dari operasi yang dilakukan jaringan neural pada tensor. Ini benar-benar aliran tensor. Karena, Anda telah memahami apa itu tensor, mari kita lanjutkan dalam tutorial TensorFlow ini dan memahami - apa itu TensorFlow?

Apa itu TensorFlow?

TensorFlow adalah pustaka berbasis Python yang menyediakan berbagai jenis fungsionalitas untuk mengimplementasikan Model Pembelajaran Dalam. Seperti yang telah dibahas sebelumnya, istilah TensorFlow terdiri dari dua istilah - Tensor & Flow:



Di TensorFlow, istilah tensor mengacu pada representasi data sebagai larik multi-dimensi sedangkan istilah aliran merujuk pada rangkaian operasi yang dilakukan seseorang pada tensor seperti yang ditunjukkan pada gambar di atas.

Sekarang kita telah membahas latar belakang yang cukup tentang TensorFlow.



Selanjutnya, dalam tutorial TensorFlow ini kita akan membahas tentang dasar-dasar kode TensorFlow.

Tutorial TensorFlow: Dasar-dasar Kode

Pada dasarnya, keseluruhan proses penulisan program TensorFlow melibatkan dua langkah:

  1. Membangun Grafik Komputasi
  2. Menjalankan Grafik Komputasi

Izinkan saya menjelaskan dua langkah di atas satu per satu:

1. Membangun Grafik Komputasi

Begitu, apa itu grafik komputasi? Nah, grafik komputasi adalah rangkaian operasi TensorFlow yang disusun sebagai node dalam grafik. Setiap node mengambil 0 atau lebih tensor sebagai input dan menghasilkan tensor sebagai output. Izinkan saya memberi Anda contoh grafik komputasi sederhana yang terdiri dari tiga node - untuk , b & c seperti yang ditunjukkan di bawah ini:

Penjelasan Grafik Komputasi Di Atas:

  • Node konstandigunakan untuk menyimpan nilai konstan karena tidak memerlukan input, tetapi menghasilkan nilai yang disimpan sebagai output. Dalam contoh di atas, a dan b adalah node konstan dengan nilai 5 dan 6 masing-masing.

  • Simpul c merupakan operasi perkalian simpul konstan a dengan b. Oleh karena itu, mengeksekusi node c akan menghasilkan perkalian node const a & b.

Pada dasarnya, seseorang dapat menganggap grafik komputasi sebagai cara alternatif untuk membuat konsep penghitungan matematika yang terjadi dalam program TensorFlow. Operasi yang ditugaskan ke node berbeda dari Grafik Komputasi dapat dilakukan secara paralel, sehingga memberikan kinerja yang lebih baik dalam hal komputasi.

menjelaskan perbedaan antara objek yang bisa berubah dan objek yang tidak bisa diubah.

Di sini kami hanya mendeskripsikan komputasi, tidak menghitung apa pun, tidak memiliki nilai apa pun, hanya mendefinisikan operasi yang ditentukan dalam kode Anda.

2. Menjalankan Grafik Komputasi

Mari kita ambil contoh grafik komputasi sebelumnya dan pahami cara mengeksekusinya. Berikut kode dari contoh sebelumnya:

Contoh 1:

import tensorflow sebagai tf # Buat grafik a = tf.constant (5.0) b = tf.constant (6.0) c = a * b

Sekarang, untuk mendapatkan output dari node c, kita perlu menjalankan grafik komputasi dalam a sidang . Sesi menempatkan operasi grafik ke Perangkat, seperti CPU atau GPU, dan menyediakan metode untuk menjalankannya.

Sesi merangkum kontrol dan status runtime TensorFlow, yaitu menyimpan informasi tentang urutan semua operasi yang akan dilakukan dan meneruskan hasil operasi yang telah dihitung ke operasi berikutnya dalam pipeline. Izinkan saya menunjukkan kepada Anda cara menjalankan grafik komputasi di atas dalam satu sesi (Penjelasan setiap baris kode telah ditambahkan sebagai komentar):

# Buat objek sesi sess = tf.Session () #Jalankan grafik dalam sesi dan simpan output ke variabel output_c = sess.run (c) #Cetak output dari node c print (output_c) #Tutup sesi ke kosongkan beberapa sumber daya sess.close ()
 Keluaran: 30

Jadi, ini semua tentang sesi dan menjalankan grafik komputasi di dalamnya. Sekarang, mari kita bahas tentang variabel dan placeholder yang akan kita gunakan secara ekstensif saat membuat model deep learning menggunakan TensorFlow.

Konstanta, Placeholder, dan Variabel

Di TensorFlow, konstanta, placeholder, dan variabel digunakan untuk mewakili parameter berbeda dari model deep learning. Karena, saya telah membahas konstanta sebelumnya, saya akan mulai dengan placeholder.

Placeholder:

Konstanta TensorFlow memungkinkan Anda menyimpan nilai, tetapi bagaimana jika, Anda ingin node menerima input saat dijalankan? Untuk jenis fungsionalitas ini, placeholder digunakan yang memungkinkan grafik Anda mengambil input eksternal sebagai parameter. Pada dasarnya, placeholder adalah janji untuk memberikan nilai nanti atau selama waktu proses. Izinkan saya memberi Anda contoh untuk mempermudah:

import tensorflow sebagai tf # Membuat placeholder a = tf. placeholder (tf.float32) b = tf. placeholder (tf.float32) # Menetapkan operasi perkalian w.r.t. a & ampamp b ke node mul = a * b # Buat objek sesi sess = tf.Session () # Menjalankan mul dengan meneruskan nilai [1, 3] [2, 4] untuk a dan b masing-masing output = sess.run ( mul, {a: [1,3], b: [2, 4]}) print ('Mengalikan ab:', keluaran)
 Keluaran: [2. 12.]

Poin yang Perlu Diingat tentang placeholder:

  • Placeholder tidak diinisialisasi dan tidak berisi data.
  • Seseorang harus memberikan masukan atau umpan ke placeholder yang dipertimbangkan selama runtime.
  • Mengeksekusi placeholder tanpa masukan menghasilkan kesalahan.

Sekarang, mari kita maju dan memahami - apa itu variabel?

Variabel

Dalam pembelajaran mendalam, placeholder digunakan untuk mengambil input sewenang-wenang dalam model atau grafik Anda. Selain mengambil input, Anda juga perlu memodifikasi grafik agar dapat menghasilkan output baru w.r.t. masukan yang sama. Untuk ini, Anda akan menggunakan variabel. Singkatnya, variabel memungkinkan Anda untuk menambahkan parameter atau node ke grafik yang dapat dilatih, yaitu nilainya dapat dimodifikasi selama periode waktu tertentu. Variabel ditentukan dengan memberikan nilai dan jenis awal seperti yang ditunjukkan di bawah ini:

var = tf.Variable ([0.4], dtype = tf.float32)

catatan:

  • Jika Anda belum memberikan jenis data secara eksplisit, TensorFlow akan menyimpulkan jenis konstanta / variabel dari nilai yang diinisialisasi.
  • TensorFlow memiliki banyak tipe datanya sendiri seperti tf.float32 , tf.int32 dll. Anda dapat merujuk ke semuanya sini .

Konstanta diinisialisasi saat Anda menelepon tf.constant , dan nilainya tidak akan pernah berubah. Sebaliknya, variabel tidak diinisialisasi saat Anda memanggil tf. Variabel . Untuk menginisialisasi semua variabel dalam program TensorFlow, Anda harus secara eksplisit memanggil operasi khusus seperti yang ditunjukkan di bawah ini:

init = tf.global_variables_initializer () sess.run (init)

Ingatlah selalu bahwa variabel harus diinisialisasi sebelum grafik digunakan untuk pertama kalinya.

catatan: Variabel TensorFlow adalah buffer dalam memori yang berisi tensor, tetapi tidak seperti tensor normal yang hanya dibuat instance-nya saat grafik dijalankan dan segera dihapus setelahnya, variabel tetap bertahan di beberapa eksekusi grafik.

Setelah kita membahas cukup dasar-dasar TensorFlow, mari kita lanjutkan dan pahami cara mengimplementasikan model regresi linier menggunakan TensorFlow.

Model Regresi Linier Menggunakan TensorFlow

Model Regresi Linier digunakan untuk memprediksi nilai variabel yang tidak diketahui (Variabel Dependen) dari nilai variabel lain yang diketahui (Variabel Independen) dengan menggunakan persamaan regresi linier seperti gambar di bawah ini:

transformasi yang terhubung dan tidak terhubung di informatica

Oleh karena itu, untuk membuat model linier, Anda memerlukan:

  1. Variabel Dependen atau Output (Y)
  2. Variabel Lereng (w)
  3. Y - Intercept atau Bias (b)
  4. Variabel Independen atau Input (X)

Jadi, mari kita mulai membuat model linier menggunakan TensorFlow:

Salin kode dengan mengklik tombol yang diberikan di bawah ini:

# Membuat variabel untuk parameter kemiringan (W) dengan nilai awal 0.4 W = tf. Variabel ([. 4], tf.float32) #Membuat variabel untuk parameter bias (b) dengan nilai awal sebagai -0.4 b = tf. Variabel ( [-0.4], tf.float32) # Membuat placeholder untuk memberikan input atau variabel independen, dilambangkan dengan xx = tf.placeholder (tf.float32) # Persamaan Regresi Linear linear_model = W * x + b # Inisialisasi semua variabel sess = tf.Session () init = tf.global_variables_initializer () sess.run (init) # Menjalankan model regresi untuk menghitung output wrt untuk memberikan nilai x cetak (sess.run (linear_model {x: [1, 2, 3, 4]}))

Keluaran:

[0. 0,40000001 0,80000007 1,20000005]

Kode yang disebutkan di atas hanya mewakili ide dasar di balik penerapan model regresi yaitu bagaimana Anda mengikuti persamaan garis regresi untuk mendapatkan output w.r.t. satu set nilai masukan. Namun, ada dua hal lagi yang harus ditambahkan dalam model ini untuk menjadikannya model regresi lengkap:

  • Pertama, kita perlu menyediakan mekanisme yang dapat digunakan model untuk melatih dirinya sendiri secara otomatis berdasarkan kumpulan input dan output yang diberikan.
  • Hal kedua yang kita perlukan adalah memvalidasi model terlatih kita dengan membandingkan keluarannya dengan keluaran yang diinginkan atau target berdasarkan kumpulan nilai x yang diberikan.

Sekarang mari kita mengerti bagaimana saya bisa menggabungkan fungsi yang disebutkan di atas ke dalam kode saya untuk model regresi.

Fungsi Kerugian - Validasi Model

Fungsi kerugian mengukur seberapa jauh output model saat ini dari output yang diinginkan atau target. Saya akan menggunakan fungsi kerugian yang paling umum digunakan untuk model regresi linier saya yang disebut Sum of Squared Error atau SSE. SSE dihitung w.r.t. keluaran model (diwakili oleh model_linier) dan keluaran yang diinginkan atau target (y) sebagai:

y = tf.placeholder (tf.float32) error = linear_model - y squared_errors = tf.square (error) loss = tf.reduce_sum (squared_errors) print (sess.run (loss, {x: [1,2,3,4) ], y: [2, 4, 6, 8]})
 Keluaran: 90.24

Seperti yang Anda lihat, kami mendapatkan nilai kerugian yang tinggi. Oleh karena itu, kita perlu menyesuaikan bobot (W) dan bias (b) kita untuk mengurangi kesalahan yang kita terima.

tf.train API - Melatih Model

TensorFlow menyediakan pengoptimal yang perlahan-lahan mengubah setiap variabel untuk meminimalkan fungsi kerugian atau kesalahan. Pengoptimal paling sederhana adalah penurunan gradien . Ini memodifikasi setiap variabel sesuai dengan besarnya turunan kerugian sehubungan dengan variabel itu.

#Membuat instance pengoptimal penurunan gradien = tf.train.GradientDescentOptimizer (0,01) train = optimizer.minimalisasi (kerugian) untuk i dalam rentang (1000): sess.run (train, {x: [1, 2, 3, 4], y: [2, 4, 6, 8]}) cetak (sess.run ([W, b]))
 Keluaran: [larik ([1,99999964], dtype = float32), larik ([9.86305167e-07], dtype = float32)]

Jadi, inilah cara Anda membuat model linier menggunakan TensorFlow dan melatihnya untuk mendapatkan keluaran yang diinginkan.

Sekarang setelah Anda mengetahui tentang Deep Learning, lihat oleh Edureka, perusahaan pembelajaran online tepercaya dengan jaringan lebih dari 250.000 pelajar yang puas dan tersebar di seluruh dunia. Kursus Edureka Deep Learning dengan Pelatihan Sertifikasi TensorFlow membantu pelajar menjadi ahli dalam pelatihan dan mengoptimalkan jaringan saraf dasar dan konvolusional menggunakan proyek dan tugas waktu nyata bersama dengan konsep seperti fungsi SoftMax, Jaringan Neural encoder Otomatis, Mesin Boltzmann Terbatas (RBM).

Ada pertanyaan untuk kami? Harap sebutkan di bagian komentar dan kami akan menghubungi Anda kembali.