Contoh TensorFlow
Tutorial ini dirancang untuk mempelajari TensorFlow dengan mudah, melalui contoh. Agar mudah dibaca, ini mencakup buku catatan dan kode sumber dengan penjelasan, baik untuk TF v1 & v2.
Sangat cocok untuk pemula yang ingin mencari contoh yang jelas dan ringkas tentang TensorFlow. Selain penerapan TensorFlow 'mentah' tradisional, Anda juga dapat menemukan praktik TensorFlow API terbaru (seperti layers
, estimator
, dataset
, ...).
Pembaruan (16/05/2020): Memindahkan semua contoh default ke TF2. Untuk contoh TF v1: periksa di sini.
Indeks tutorial
0 - Prasyarat
- Pengantar Pembelajaran Mesin.
- Pengantar Kumpulan Data MNIST.
1 - Pendahuluan
- Halo Dunia (buku catatan). Contoh yang sangat sederhana untuk mempelajari cara mencetak "hello world" menggunakan TensorFlow 2.0+.
- Operasi Dasar (buku catatan). Contoh sederhana yang mencakup operasi dasar TensorFlow 2.0+.
2 - Model Dasar
- Regresi Linier (buku catatan). Terapkan Regresi Linier dengan TensorFlow 2.0+.
- Regresi Logistik (buku catatan). Terapkan Regresi Logistik dengan TensorFlow 2.0+.
- Word2Vec (Penyematan Kata) (buku catatan). Buat Model Penyematan Kata (Word2Vec) dari data Wikipedia, dengan TensorFlow 2.0+.
- GBDT (Pohon Keputusan yang Ditingkatkan Gradien) (buku catatan). Menerapkan Pohon Keputusan yang Ditingkatkan Gradien dengan TensorFlow 2.0+ untuk memprediksi nilai rumah menggunakan kumpulan data Perumahan Boston.
3 - Jaringan Syaraf Tiruan
Diawasi
- Jaringan Neural Sederhana (buku catatan). Gunakan API 'lapisan' dan 'model' TensorFlow 2.0 untuk membangun jaringan neural sederhana guna mengklasifikasikan kumpulan data digit MNIST.
- Jaringan Neural Sederhana (tingkat rendah) (notebook). Implementasi mentah jaringan saraf sederhana untuk mengklasifikasikan kumpulan data digit MNIST.
- Jaringan Neural Konvolusional (buku catatan). Gunakan API 'lapisan' dan 'model' TensorFlow 2.0+ untuk membangun jaringan neural konvolusional guna mengklasifikasikan kumpulan data digit MNIST.
- Jaringan Neural Konvolusional (tingkat rendah) (buku catatan). Implementasi mentah jaringan saraf konvolusional untuk mengklasifikasikan kumpulan data digit MNIST.
- Jaringan Neural Berulang (LSTM) (buku catatan). Bangun jaringan neural berulang (LSTM) untuk mengklasifikasikan kumpulan data digit MNIST, menggunakan API 'lapisan' dan 'model' TensorFlow 2.0.
- Jaringan Neural Berulang Dua Arah (LSTM) (notebook). Bangun jaringan saraf berulang dua arah (LSTM) untuk mengklasifikasikan kumpulan data digit MNIST, menggunakan API 'lapisan' dan 'model' TensorFlow 2.0+.
- Jaringan Neural Berulang Dinamis (LSTM) (buku catatan). Bangun jaringan saraf berulang (LSTM) yang melakukan perhitungan dinamis untuk mengklasifikasikan urutan panjang variabel, menggunakan API 'lapisan' dan 'model' TensorFlow 2.0+.
Tanpa pengawasan
- Encoder Otomatis (buku catatan). Buat pembuat enkode otomatis untuk menyandikan gambar ke dimensi yang lebih rendah dan buat ulang.
- DCGAN (Jaringan Adversarial Generatif Konvolusional Mendalam) (buku catatan). Bangun Deep Convolutional Generative Adversarial Network (DCGAN) untuk menghasilkan gambar dari noise.
4 - Utilitas
- Simpan dan Pulihkan model (notebook). Simpan dan Pulihkan model dengan TensorFlow 2.0+.
- Bangun Lapisan & Modul Khusus (notebook). Pelajari cara membuat lapisan/modul Anda sendiri dan mengintegrasikannya ke dalam Model TensorFlow 2.0+.
- Papan Tensor (buku catatan). Lacak dan visualisasikan grafik komputasi jaringan neural, metrik, bobot, dan lainnya menggunakan tensorboard TensorFlow 2.0+.
5 - Manajemen Data
- Memuat dan Mengurai data (notebook). Bangun pipeline data yang efisien dengan TensorFlow 2.0 (Array numpy, Gambar, file CSV, data khusus, ...).
- Bangun dan Muat TFRecords (notebook). Konversikan data ke dalam format TFRecords, dan muat dengan TensorFlow 2.0+.
- Transformasi Gambar (yaitu Augmentasi Gambar) (buku catatan). Terapkan berbagai teknik augmentasi gambar dengan TensorFlow 2.0+, untuk menghasilkan gambar terdistorsi untuk pelatihan.
6 - Perangkat Keras
- Pelatihan Multi-GPU (notebook). Melatih jaringan neural konvolusional dengan beberapa GPU pada kumpulan data CIFAR-10.
TensorFlow v1
Indeks tutorial untuk TF v1 tersedia di sini: Contoh TensorFlow v1.15. Atau lihat di bawah untuk daftar contohnya.
Kumpulan data
Beberapa contoh memerlukan kumpulan data MNIST untuk pelatihan dan pengujian. Jangan khawatir, kumpulan data ini akan otomatis diunduh saat menjalankan contoh. MNIST adalah database angka tulisan tangan, untuk penjelasan singkat tentang kumpulan data tersebut, Anda dapat memeriksa buku catatan ini.
Situs Resmi: http://yann.lecun.com/exdb/mnist/.
Instalasi
Untuk mengunduh semua contoh, cukup clone repositori ini:
git clone https://github.com/aymericdamien/TensorFlow-Examples
Untuk menjalankannya, Anda juga memerlukan TensorFlow versi terbaru. Untuk menginstalnya:
atau (dengan dukungan GPU):
pip install tensorflow_gpu
Untuk detail selengkapnya tentang penginstalan TensorFlow, Anda dapat memeriksa Panduan Instalasi TensorFlow
Contoh TensorFlow v1 - Indeks
Indeks tutorial untuk TF v1 tersedia di sini: Contoh TensorFlow v1.15.
0 - Prasyarat
- Pengantar Pembelajaran Mesin.
- Pengantar Kumpulan Data MNIST.
1 - Pendahuluan
- Halo Dunia (buku catatan) (kode). Contoh yang sangat sederhana untuk mempelajari cara mencetak "hello world" menggunakan TensorFlow.
- Operasi Dasar (notebook) (kode). Contoh sederhana yang mencakup operasi dasar TensorFlow.
- Dasar-dasar TensorFlow Eager API (notebook) (kode). Mulai menggunakan Eager API TensorFlow.
2 - Model Dasar
- Regresi Linier (buku catatan) (kode). Terapkan Regresi Linier dengan TensorFlow.
- Regresi Linier (api bersemangat) (buku catatan) (kode). Terapkan Regresi Linier menggunakan Eager API TensorFlow.
- Regresi Logistik (notebook) (kode). Terapkan Regresi Logistik dengan TensorFlow.
- Regresi Logistik (api bersemangat) (notebook) (kode). Terapkan Regresi Logistik menggunakan Eager API TensorFlow.
- Tetangga Terdekat (notebook) (kode). Menerapkan algoritma Nearest Neighbor dengan TensorFlow.
- K-Means (buku catatan) (kode). Buat pengklasifikasi K-Means dengan TensorFlow.
- Random Forest (buku catatan) (kode). Buat pengklasifikasi Random Forest dengan TensorFlow.
- Pohon Keputusan yang Ditingkatkan Gradien (GBDT) (buku catatan) (kode). Bangun Pohon Keputusan yang Ditingkatkan Gradien (GBDT) dengan TensorFlow.
- Word2Vec (Penyematan Kata) (buku catatan) (kode). Buat Model Penyematan Kata (Word2Vec) dari data Wikipedia, dengan TensorFlow.
3 - Jaringan Syaraf Tiruan
Diawasi
- Jaringan Neural Sederhana (notebook) (kode). Bangun jaringan saraf sederhana (alias Multi-layer Perceptron) untuk mengklasifikasikan kumpulan data digit MNIST. Implementasi TensorFlow mentah.
- Jaringan Neural Sederhana (tf.layers/estimator api) (notebook) (kode). Gunakan API 'lapisan' dan 'estimator' TensorFlow untuk membangun jaringan saraf sederhana (alias Perceptron Multi-lapis) untuk mengklasifikasikan kumpulan data digit MNIST.
- Jaringan Neural Sederhana (api bersemangat) (notebook) (kode). Gunakan TensorFlow Eager API untuk membangun jaringan neural sederhana (alias Multi-layer Perceptron) untuk mengklasifikasikan kumpulan data digit MNIST.
- Jaringan Neural Konvolusional (notebook) (kode). Bangun jaringan saraf konvolusional untuk mengklasifikasikan kumpulan data digit MNIST. Implementasi TensorFlow mentah.
- Jaringan Neural Konvolusional (tf.layers/estimator api) (notebook) (kode). Gunakan API 'lapisan' dan 'estimator' TensorFlow untuk membangun jaringan neural konvolusional guna mengklasifikasikan kumpulan data digit MNIST.
- Jaringan Neural Berulang (LSTM) (notebook) (kode). Bangun jaringan saraf berulang (LSTM) untuk mengklasifikasikan kumpulan data digit MNIST.
- Jaringan Neural Berulang Dua Arah (LSTM) (notebook) (kode). Bangun jaringan saraf berulang dua arah (LSTM) untuk mengklasifikasikan kumpulan data digit MNIST.
- Jaringan Neural Berulang Dinamis (LSTM) (notebook) (kode). Bangun jaringan saraf berulang (LSTM) yang melakukan perhitungan dinamis untuk mengklasifikasikan urutan dengan panjang berbeda.
Tanpa pengawasan
- Encoder Otomatis (notebook) (kode). Buat pembuat enkode otomatis untuk menyandikan gambar ke dimensi yang lebih rendah dan buat ulang.
- Variasi Auto-Encoder (notebook) (kode). Buat pembuat enkode otomatis variasional (VAE), untuk menyandikan dan menghasilkan gambar dari noise.
- GAN (Generative Adversarial Networks) (buku catatan) (kode). Bangun Jaringan Adversarial Generatif (GAN) untuk menghasilkan gambar dari noise.
- DCGAN (Jaringan Adversarial Generatif Konvolusional Mendalam) (buku catatan) (kode). Bangun Deep Convolutional Generative Adversarial Network (DCGAN) untuk menghasilkan gambar dari noise.
4 - Utilitas
- Simpan dan Kembalikan model (notebook) (kode). Simpan dan Pulihkan model dengan TensorFlow.
- Tensorboard - Visualisasi grafik dan kerugian (notebook) (kode). Gunakan Tensorboard untuk memvisualisasikan Grafik komputasi dan memplot kerugiannya.
- Tensorboard - Visualisasi tingkat lanjut (notebook) (kode). Mendalami Tensorboard; memvisualisasikan variabel, gradien, dan banyak lagi...
5 - Manajemen Data
- Buat kumpulan data gambar (notebook) (kode). Buat kumpulan data gambar Anda sendiri dengan antrean data TensorFlow, dari folder gambar atau file kumpulan data.
- TensorFlow Dataset API (notebook) (kode). Memperkenalkan TensorFlow Dataset API untuk mengoptimalkan pipeline data masukan.
- Memuat dan Mengurai data (notebook). Bangun saluran data yang efisien (Array numpy, Gambar, file CSV, data khusus, ...).
- Bangun dan Muat TFRecords (notebook). Konversikan data ke dalam format TFRecords, dan muat.
- Transformasi Gambar (yaitu Augmentasi Gambar) (buku catatan). Terapkan berbagai teknik augmentasi gambar, untuk menghasilkan gambar terdistorsi untuk pelatihan.
6 - Multi GPU
- Pengoperasian Dasar pada multi-GPU (notebook) (kode). Contoh sederhana untuk memperkenalkan multi-GPU di TensorFlow.
- Latih Jaringan Neural pada multi-GPU (notebook) (kode). Implementasi TensorFlow yang jelas dan sederhana untuk melatih jaringan neural konvolusional pada beberapa GPU.
Contoh Lainnya
Contoh berikut berasal dari TFLearn, sebuah perpustakaan yang menyediakan antarmuka sederhana untuk TensorFlow. Anda dapat melihat, ada banyak contoh dan operasi serta lapisan yang telah dibuat sebelumnya.
Tutorial
- Mulai Cepat TFLearn. Pelajari dasar-dasar TFLearn melalui tugas pembelajaran mesin yang konkret. Bangun dan latih pengklasifikasi jaringan saraf yang dalam.
Contoh
- Contoh TFLearn. Banyak koleksi contoh menggunakan TFLearn.