Pembelajaran Mendalam dengan TensorFlow 2.0: Semua yang Perlu Anda Ketahui
Diterbitkan: 2021-01-05TensorFlow adalah framework Machine Learning oleh Google. Ini terutama digunakan untuk tugas-tugas terkait Deep Learning dan terintegrasi dengan mulus dengan Google API lainnya juga. TensorFlow jelas merupakan salah satu library yang paling banyak digunakan untuk Deep Learning di industri saat ini dan sangat layak untuk dipelajari!
Pada akhir tutorial ini, Anda akan memiliki pengetahuan berikut.
- Apa itu TensorFlow?
- Apa yang baru di TF 2.0?
- TensorFlow vs Keras
- Memasang TensorFlow
- Pengklasifikasi Gambar di TensorFlow
Daftar isi
Apa itu TensorFlow?
TensorFlow dimulai sebagai library Open-Source Deep Learning oleh Google dan sekarang menjadi framework lengkap untuk proses Machine Learning ujung ke ujung. Anda mungkin bertanya-tanya mengapa Google memilih nama ini dan apa arti "Tensor".
Apa Itu Tensor?
Tensor secara efektif adalah array Multidimensi yang memungkinkan Anda melakukan operasi kompleks pada array multidimensi. Namun, mereka bukan hanya array N-dimensi.
Tensor juga mencakup transformasi seperti perkalian titik, penjumlahan, perkalian matriks, dll.
Tapi Mengapa Mereka Penting?
Tensor bukanlah hal baru. Mereka telah digunakan sejak lama, tetapi karakteristiknya banyak dieksploitasi di bidang Pembelajaran Mendalam, di mana datanya biasanya sangat besar dan berdimensi banyak.

Tensor, seperti array Numpy, juga memiliki bentuk dan tipe data. Semua tensor tidak dapat diubah seperti angka dan string Python: Anda tidak akan pernah dapat memperbarui konten tensor, hanya membuat yang baru.
Tapi apa yang membuat mereka berbeda dari array Numpy biasa adalah kemampuannya untuk memanfaatkan memori GPU dan daya komputasi yang sangat penting ketika data berdimensi tinggi dan ukurannya dalam jutaan atau lebih.
Tensor sangat digunakan dalam kerangka kerja Deep Learning seperti Facebook's Pytorch dan Google's TensorFlow, yang bahkan dinamai menurut mereka !
Google juga telah mengembangkan akselerator AI lain, yang disebut Tensor Processing Unit (TPU), terutama untuk TensorFlow yang membawa pengoptimalan ke level berikutnya secara bersamaan!
Baca: Regularisasi dalam Deep Learning
Apa yang Baru di TF 2.0?
Google telah merilis versi pertama TensorFlow 1 pada tahun 2015 oleh Tim Google Brain.
Menggunakan TensorFlow 1.x untuk membuat jaringan saraf bukanlah tugas yang mudah karena membutuhkan banyak kode untuk ditulis.
Evaluasi Malas Vs Evaluasi Bersemangat
Dengan TensorFlow 1.x, dulu ada kebutuhan untuk membuat Sesi dan menjalankan sesi tersebut untuk menghasilkan output dari "grafik" apa pun. Mari kita pahami ini dengan kode di bawah ini
impor tensorflow sebagai tf a = tf.konstanta(1) |
Menjalankan kode di atas tidak akan memberikan hasil yang Anda inginkan, yaitu 3. Ini karena TensorFlow 1.x bekerja dalam sesi.
Sesi adalah jenis lingkungan yang berisi semua variabel dan transformasi yang perlu dilakukan.
Grafik transformasi dibuat yang tidak dievaluasi sampai dipanggil secara khusus dengan menjalankan tf.session.run().
Oleh karena itu, kode di atas akan mengembalikan apa yang Anda harapkan jika Anda melakukannya:
tf.Session.run(c) |
Ini disebut evaluasi malas. Karena malas menunggu sampai secara khusus disuruh lari.
Proses yang panjang dan rumit ini perlu diselesaikan dan karenanya kebutuhan akan TensorFlow 2.x muncul.
TF 2.x hadir dengan evaluasi Eager secara default yang membuatnya sangat mudah bagi kita untuk membuat kode dan menjalankan proses.
Tidak ada sesi sekarang dan pelatihan jaringan saraf yang mengambil 100 baris di TF 1.x membutuhkan waktu kurang dari 20 dengan TF 2.x.
Eksekusi TensorFlow yang bersemangat adalah lingkungan pemrograman imperatif yang mengevaluasi operasi dengan segera, tanpa membuat grafik: operasi mengembalikan nilai konkret alih-alih membuat grafik komputasi untuk dijalankan nanti.
Ini memudahkan untuk memulai dengan model TensorFlow dan debug, dan juga mengurangi boilerplate.
TensorFlow Vs Keras
Pertanyaannya sebenarnya bukan TensorFlow vs Keras. Ini adalah TensorFlow dengan Keras. Keras menyediakan API tingkat tinggi melalui TensorFlow 1.x yang membuatnya sangat mudah untuk bekerja dengannya.

Sekarang dengan TF 2.0, TensorFlow telah secara resmi menjadikan Keras sebagai bagian dari API untuk perancangan dan pelatihan model dengan tf.keras.
Semua kode yang sebelumnya dilakukan di Keras sekarang disarankan untuk dilakukan dengan tf.keras di TF 2.0 karena memungkinkannya menggunakan semua komponen dan ekosistem TensorFlow seperti:
- TensorFlow Serving yang digunakan untuk melayani/men-deploy model TensorFlow dengan mulus.
- TensorFlow Lite yang merupakan versi mobile dari TensorFlow yang mampu berjalan di Android dan iOS.
- TensorFlow.js adalah kumpulan API yang memungkinkan kita membuat dan melatih model menggunakan pustaka aljabar linier JavaScript tingkat rendah atau API lapisan tingkat tinggi. Oleh karena itu, model pembelajaran mendalam dapat dilatih dan dijalankan di browser.
- TensorBoard adalah rangkaian alat visualisasi untuk memahami, men-debug, dan mengoptimalkan program TensorFlow.
Memasang TensorFlow
Jika Anda baru mengenal Machine Learning, cara termudah untuk memulai adalah dengan membuka Notebook Colab. Cukup buka https://colab.research.google.com/ dan klik “Notebook Python 3 Baru.”
Pastikan kernel mengatakan "terhubung" di kanan atas. Kabar baik, TensorFlow sudah diinstal sebelumnya di Google Colab.
Voila! Anda sudah siap.
Untuk memeriksa apakah Anda menggunakan versi yang benar, jalankan cuplikan di bawah ini.
impor tensorflow sebagai tf tf.__versi__ |
Itu harus mengatakan versi apa pun di atas 2.0.0 dan Anda siap melakukannya.
Pengklasifikasi Gambar Di TensorFlow
Sekarang mari kita membahas "Hello World" dari masalah Deep Learning – dataset MNIST.
Kami akan membangun jaringan saraf pendek untuk memprediksi pada dataset MNIST. Kami akan mengikuti langkah-langkah di bawah ini.
- Membangun jaringan saraf yang mengklasifikasikan gambar.
- Latih jaringan saraf.
- Evaluasi keakuratan model
Mengimpor TensorFlow.
impor tensorflow sebagai tf |
Memuat data MNIST.
mnist = tf.keras.datasets.mnist (x_train, y_train), (x_test, y_test) = mnist.load_data() |
Membangun model tf.keras.Sequential dengan menumpuk lapisan.
Kita harus memilih pengoptimal dan fungsi kerugian juga untuk model yang akan dilatih.
model = tf.keras.models.Sequential([ tf.keras.layers.Flatten(input_shape=(28, 28)), tf.keras.layers.Dense(128, activation='relu'), tf.keras.layers.Dropout(0.2), tf.keras.layers.Dense(10) ]) |
Mendefinisikan fungsi kerugian Entropi Lintas Kategoris Jarang.
loss_fn = tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True) |
Mengkompilasi model.
model.compile(optimizer='adam', rugi=rugi_fn, metrik=['akurasi']) |
Melatih model dengan 5 epoch.
model.fit(x_train, y_train, epochs=5) |
Mengevaluasi model.
model.evaluasi(x_test, y_test, verbose=2) |
313/313 – 0s – kerugian: 0,0825 – akurasi: 0,9753 [0.082541823387146, 0.9753000140190125] |
Pengklasifikasi gambar sekarang dilatih untuk akurasi ~98% pada dataset ini.
Sebelum kamu pergi
TensorFlow 2 berfokus pada kesederhanaan dan kemudahan penggunaan, dengan pembaruan seperti eksekusi yang bersemangat, API tingkat tinggi yang intuitif, dan pembuatan model yang fleksibel di platform apa pun.

TensorFlow adalah perpustakaan/alat masuk untuk semua tugas pembelajaran mendalam saat ini. Pustaka lain yang paling banyak digunakan dan populer adalah PyTorch Facebook.
Ekosistem TensorFlow yang diperluas menjadikannya tempat yang tepat untuk memulai perjalanan Deep Learning Anda. Mudah dipahami dan yang lebih penting, mudah diterapkan.
Tempat terbaik untuk memulai adalah dengan Sequential API yang mudah digunakan. Anda dapat membuat model dengan menyambungkan blok penyusun. Pelajari lebih lanjut tentang teknik pembelajaran mendalam.
Kesimpulan
Jadi, sekarang setelah Anda memiliki gagasan terperinci tentang semua kerangka kerja Deep learning utama di luar sana, Anda dapat membuat keputusan yang tepat dan memilih salah satu yang paling sesuai dengan proyek Anda.
Jika Anda tertarik untuk mengetahui lebih banyak tentang pembelajaran mendalam dan kecerdasan buatan, lihat Diploma PG kami dalam Pembelajaran Mesin dan program AI yang dirancang untuk para profesional yang bekerja dan menyediakan 30+ studi kasus & tugas, 25+ sesi bimbingan industri, 5+ praktik praktis -pada proyek batu penjuru, lebih dari 450 jam pelatihan yang ketat & bantuan penempatan kerja dengan perusahaan-perusahaan top.