Panduan Awal TF: Toolkit

Tensorflow adalah sebuah framework komputasional untuk membuat model machine learning. TensorFlow menyediakan berbagai toolkit yang memungkinkan Anda membuat model pada tingkat abstraksi yang Anda sukai. Anda dapat menggunakan API dengan tingkat yang lebih rendah untuk membuat model dengan menentukan serangkaian operasi matematis. Sebagai alternatif, Anda dapat menggunakan API dengan tingkat yang lebih tinggi (seperti tf.estimator ) untuk menentukan arsitektur yang telah ditetapkan, seperti regresi linier atau jaringan neural.

Gambar berikut menunjukkan hierarki toolkit TensorFlow saat ini:

Toolkit hierarki TensorFlow. Estimator API terletak di bagian atas.

Gambar 1. Hierarki toolkit TensorFlow.

Tabel berikut berisi ringkasan tujuan dari berbagai lapisan:

Toolkit Deskripsi
Estimator (tf.estimator) API tingkat tinggi yang berorientasi objek.
tf.layers/tf.losses/tf.metrics Library untuk komponen model umum.
TensorFlow API dengan tingkat lebih rendah

TensorFlow terdiri dari dua komponen berikut:

Kedua komponen ini bersifat analog terhadap kode Python dan penafsir Python. Sama seperti penafsir Python yang diterapkan pada beberapa platform hardware untuk menjalankan kode Python, TensorFlow dapat menjalankan grafik pada beberapa platform hardware, termasuk CPU, GPU, dan TPU.

API mana yang harus Anda gunakan? Anda harus menggunakan tingkat abstraksi tertinggi yang dapat memecahkan masalah. Tingkat abstraksi yang lebih tinggi lebih mudah digunakan, tetapi juga (berdasarkan desain) kurang fleksibel. Sebaiknya mulai dengan API tingkat tertinggi terlebih dahulu dan pastikan semuanya berfungsi. Jika Anda memerlukan fleksibilitas tambahan untuk beberapa masalah pemodelan khusus, berpindahlah ke satu tingkat lebih rendah. Perhatikan bahwa setiap tingkat dibuat menggunakan API di tingkat yang lebih rendah, sehingga menurunkan hierarki seharusnya cukup mudah.

tf.estimator API

Kita akan menggunakan tf.estimator untuk sebagian besar latihan di Kursus Singkat Machine Learning. Segala hal yang akan Anda lakukan dalam latihan ini dapat dilakukan di TensorFlow dengan tingkat yang lebih rendah (mentah), tetapi menggunakan tf.estimator secara drastis menurunkan jumlah baris kode.

tf.estimator kompatibel dengan scikit-learn API. Scikit-learn adalah library ML open-source yang sangat populer di Python, dengan lebih 100 ribu pengguna, termasuk di Google.

Secara umum, inilah kode-pseudo (pseudo-code) untuk program klasifikasi linier yang diterapkan dalam tf.estimator:

import tensorflow as tf

# Set up a linear classifier.
classifier = tf.estimator.LinearClassifier(feature_columns)

# Train the model on some example data.
classifier.train(input_fn=train_input_fn, steps=2000)

# Use it to predict.
predictions = classifier.predict(input_fn=predict_input_fn)