9 Hal Baru yang Perlu Diketahui Tentang Tensorflow

Cassie Kozyrkov
5 min readDec 23, 2018

--

Translated by Robin Tan from the original by Cassie Kozyrkov

Jika kamu belum melihat video tentang Tensorflow yang diadakan di Google Cloud Next di San Francisco, mungkin artikel ini akan membantumu mengenal Tensorflow lebih dalam!

#1 Tensorflow Adalah Framework Machine Learning yang Kuat

Tensorflow adalah sebuah framework machine learning yang mungkin akan menjadi sahabatmu ketika kamu bermain dengan data dan apabila kamu fans dari salah satu area di AI (artificial intelligence) yaitu deep learning.

Tensorflow dapat membantumu membuat neural network (jaringan artifisial yang mirip otak manusia) dalam skala besar. Tensorflow telah membantu para ilmuwan dalam proyek-proyek seperti pencarian planet baru, membantu dokter mencegah kebutaan dalam pasien yang terkena diabetes dan lain-lain. Tensorflow juga adalah framework yang menopang proyek seperti AlphaGodan Google Cloud Vision yang kamu dapat gunakan untuk coba.

Tunggu apa lagi? Tensorflow itu gratis dan open source (terbuka untuk umum), kamu bisa download dan coba menggunakannya sekarang juga.

#2 Tidak Harus Melalui Cara Menggunakan Tensorflow Yang Lama

Bagi kamu yang pernah mencoba atau menggunakan Tensorflow dulu dan meninggalkannya karena bagaimana Tensorflow memaksa kamu untuk menulis kode bagaikan alien ataupun orang akademis, berikan Tensorflow kesempatan kedua!

Tensorflow Eager memberi kamu kemampuan untuk berinteraksi dengan model kamu bagaikan programmer Python biasa. Kamu dapat debug kode kamu baris demi baris sekarang, dimana dulunya mungkin sering sekali kita semua perlu berdoa agar kode kita berjalan mulus, apabila ketika kita sedang mengkonstruksi jaringan raksasa! :D

# A toy dataset of points around 3 * x + 2
NUM_EXAMPLES = 1000
training_inputs = tf.random_normal([NUM_EXAMPLES])
noise = tf.random_normal([NUM_EXAMPLES])
training_outputs = training_inputs * 3 + 2 + noise
def prediction(input, weight, bias):
return input * weight + bias
# A loss function using mean-squared error
def loss(weights, biases):
error = prediction(training_inputs, weights, biases) - training_outputs
return tf.reduce_mean(tf.square(error))
# Return the derivative of loss with respect to weight and bias
def grad(weights, biases):
with tf.GradientTape() as tape:
loss_value = loss(weights, biases)
return tape.gradient(loss_value, [weights, biases])
train_steps = 200
learning_rate = 0.01
# Start with arbitrary values for W and B on the same batch of data
W = tfe.Variable(5.)
B = tfe.Variable(10.)
print("Initial loss: {:.3f}".format(loss(W, B)))for i in range(train_steps):
dW, dB = grad(W, B)
W.assign_sub(dW * learning_rate)
B.assign_sub(dB * learning_rate)
if i % 20 == 0:
print("Loss at step {:03d}: {:.3f}".format(i, loss(W, B)))
print("Final loss: {:.3f}".format(loss(W, B)))
print("W = {}, B = {}".format(W.numpy(), B.numpy()))

Dan berkat Tensorflow Eager, kamu dapat melihat outputnya langsung di interactive python shell kamu. Hasil outputnya adalah…

Initial loss: 71.204
Loss at step 000: 68.333
Loss at step 020: 30.222
Loss at step 040: 13.691
Loss at step 060: 6.508
Loss at step 080: 3.382
Loss at step 100: 2.018
Loss at step 120: 1.422
Loss at step 140: 1.161
Loss at step 160: 1.046
Loss at step 180: 0.996
Final loss: 0.974
W = 3.01582956314, B = 2.1191945076

#3 Kamu Dapat Ciptakan Neural Network Sendiri

Keras + Tensorflow = Konstruksi Neural Network yang lebih mudah

Ketika Tensorflow memberikan begitu banyak fitur bagi para developer yang menggunakannya, Keras membuat segala sesuatunya menjadi lebih user-friendly (mudah digunakan) ketika kamu ingin bereksperimen dengan neural network kamu.

Apabila kamu senang membuat jaringan kamu lapis demi lapis, maka tf.kerasakan menjadi teman baik kamu. Dengan hanya beberapa baris kode di bawah, kita telah dapat menciptakan sequential neural network (berurut), eksekusi per lapis dalam jaringannya dilakukan menurut urutan yang kita definisikan.

Sequential Neural Network Model — tf.keras.layers dalam aksinya!

Bingung dengan apa yang dilakukan oleh jaringan tersebut di atas? Baca lebih lanjut tentang tentang bagaimana kamu bisa membangun lapisan jaringan kamu sendiri.

#4 Bukan Hanya Di Python

Kabar baik bagi kamu yang selama ini mungkin berharap agar Tensorflow bisa digunakan dengan bahasa lain seperti R. Sekarang Tensorflow dapat dijalankan dengan banyak bahasa seperti Golang, C++ dan bahkan Javascript!

#5 Dapat Dijalankan Dalam Browser

Karena Tensorflow dapat dijalankan dengan Javascript, kamu dapat melatih model baru ataupun menjalankan model kamu di dalam browser dengan Tensorflow.js. Cek sekarang juga demo pekerjaan-pekerjaan yang keren yang dibuat orang lain!

Tensorflow.js demo — Ciptakan lagu kamu sendiri dengan model yang telah dilatih

#6 Tensorflow Lite Bagi Perangkat Kecil

Punya supercomputer dengan GPU di rumah, atau mungkin kulkas di rumah, atau mungkin smartphone kamu? Sekarang dengan adanya Tensorflow Liteyang membawa peningkatan 3 kali lipat dalam performa inferensi dibanding Tensorflow original, model kamu dapat dijalankan di berbagai perangkat (mobile, IoT — internet of things). Dalam presentasi oleh Laurence, dia menunjukkan live demo dalam klasifikasi gambar dalam emulator Android di depan ribuan orang… dan demonya sukses!

Live Demo — 1.6 detik untuk mendeteksi pisang dengan probabilitas 97%?!

#7 Hardware khusus untuk Tensorflow

Apabila kamu pernah menggunakan CPU kamu untuk melatih model neural network kamu, mungkin kamu pernah lelah menunggu berhari-hari agar CPU selesai memproses data data training (belum lagi kalau CPU kamu crash setelah menunggu 2 hari — if you know what I mean).

Coba gunakan Cloud TPU (bukan GPU, T — T itu adalah tensor, menurut Cassie ini bukanlah kebetulan). Google baru saja merilis versi 3 TPU (alpha)

#8 tf.data Sebagai Jawaban Data Pipeline

Masih menggunakan numpy, pandas? Jika kamu pernah menggunakan Tensorflow untuk melakukan ETL tetapi menyerah karena terlalu ribet, tf.data mempunyai sekumpulan utility yang dapat membatu ETL-mu menjadi lebih simpel dan efisien.

#9 Tidak Perlu Memulai Dari Awal

Pernahkah kamu merasa Deep Learning itu kompleks dan susah untuk dimulai? Yep, awalnya saya sendiri juga merasa begitu. Tidak tahu memulai darimana. Dengan Tensorflow, kamu dapat memulai bermain dengan Machine Learning di playground nya ataupun mulai mencoba Google Vision API.

Lalu, apa yang selanjutnya apabila saya mau memulai proyek dengan Tensorflow?

Jangan mulai dari file kosong, mulailah dari Tensorflow Hub, gunakan kode-kode yang telah ditulis orang lain dan kembangkanlah!

Ingin memulai proyek klasifikasi gambar kamu sendiri? Mungkin bisa dimulai dari Tensorflow Hub / Image Modules.

--

--

Cassie Kozyrkov

Head of Decision Intelligence, Google. Hello (multilingual) world! This account is for translated versions of my English language articles. twitter.com/quaesita