Pengantar TensorFlow: Framework Deep Learning

Framework Deep Learning:
TensorFlow

Pemaparan mendalam tentang TensorFlow 
dan aplikasinya dalam deep learning.


by Nunuk Irawati

  Pasca Sarjana Teknik Informatika - Universitas Pamulang 2025


01- Pengantar TensorFlow: Pustaka Machine Learning dari Google

                TensorFlow merupakan Framework open-source yang dikembangkan oleh Google, yang dirancang untuk machine learning dan  artificial intelligence.

TensorFlow?

TensorFlow adalah framework powerful dan fleksibel untuk membangun dan melatih model machine Learning, seperti model deep learning, yang merupakan subbidang machine learning yang menggunakan artificial neural network untuk berbagai aplikasi.


TensorFlow mendukung berbagai aplikasi, termasuk Natural Languange Processing (NLP) dan Computer Vision (CV) hingga peralaman deret waktu dan pembelajaran penguatan. 

TensorFlow memiliki dukungan multi-bahasa yang memungkinkan pengguna untuk mengembangkan model machine learning dalam berbagai bahasa pemrograman. Berikut beberapa bahasa pemrograman yang didukung oleh TensorFlow:
  • Python: TensorFlow memiliki API Python yang sangat lengkap dan mudah digunakan.
  • C++: TensorFlow memiliki API C++ yang memungkinkan pengguna untuk mengembangkan model machine learning yang lebih cepat dan efisien.
  • Java: TensorFlow memiliki API Java yang memungkinkan pengguna untuk mengembangkan model machine learning dalam aplikasi Java.
  • JavaScript: TensorFlow.js adalah versi TensorFlow yang dapat berjalan di browser web dan Node.js.

Meskipun tersedia dalam berbagai bahasa, tensorflow paling umum digunakan dengan python. Selain mendapatkan dukungan resmi, beberapa hal yang menjadi alasan penggunaan bahasa pemrograman python adalah karena kemudahan penggunaan, komunitas python yang besar dan aktif sehingga banyak tutorial dan contoh kode tersedia bagi pemula. Selain itu python memiliki banyak library yang berguna untuk machine learning, seperti Numpy, Pandas, dan Matplotlib, dan tensorflow dapat dengan mudah diintegrasikan dengan library-library ini.


02- Sejarah Pengembangan TensorFlow

            TensorFlow dikembangkan oleh tim Google Brain untuk penggunaan internal Google. Perangkat lunak ini dirilis di bawah Lisensi Apache 2.0 pada tahun 2015, (https://id.wikipedia.org/wiki/TensorFlow). 

        Awal Mula

  • 2011: Google memulai proyek penelitian tentang deep learning yang disebut "DistBelief".
  • 2012: Tim peneliti Google, termasuk Geoffrey Hinton, mengembangkan sistem deep learning yang dapat mengenali objek dalam gambar.
        Pengembangan TensorFlow
  • 2015: Google mengumumkan TensorFlow sebagai framework machine learning open-source yang berbasis pada sistem DistBelief.
  • November 2015: TensorFlow versi 0.5.0 dirilis ke publik.
        Perkembangan dan Adopsi
  • 2016: TensorFlow menjadi salah satu framework machine learning paling populer dan banyak digunakan.
  • 2017: TensorFlow 1.0 dirilis, yang membawa banyak fitur baru dan perbaikan.
  • 2019: TensorFlow 2.0 dirilis, yang membawa perubahan besar pada API dan arsitektur.
        Saat Ini
  • TensorFlow Foundation: TensorFlow sekarang dikelola oleh TensorFlow Foundation, sebuah organisasi non-profit yang bertujuan untuk mempromosikan pengembangan dan adopsi TensorFlow.
  • Komunitas besar: TensorFlow memiliki komunitas besar dan aktif yang berkontribusi pada pengembangan dan pemeliharaan framework.

Dengan sejarahnya yang panjang dan komunitas  yang besar, TensorFlow telah menjadi salah satu framework machine learning paling populer dan banyak digunakan di dunia. Saat ini, TensorFlow menjadi salah satu framework paling populer di dunia untuk machine learning dan deep learning, digunakan secara luas dalam berbagai aplikasi.
Dengan sejarahnya yang panjang dan komunitas                 yang besar, TensorFlow telah menjadi salah satu framework machine learning paling populer dan banyak digunakan di dunia. Saat ini, TensorFlow menjadi salah satu framework paling populer di dunia untuk machine learning dan deep learning, digunakan secara luas dalam berbagai aplikasi.



03- Memahami Arsitektur Dasar TensorFlow



          Grafik Aliran Data -----> Struktur Grafik TensorFlow


           TensorFlow menggunakan struktur grafik untuk merepresentasikan komputasi dan aliran data dalam model machine learning. Dengan menggunakan struktur grafik, TensorFlow dapat memproses data secara sistematis dan efisien, sehingga memungkinkan pengguna untuk membuat model machine learning yang canggih dan akurat. Berikut adalah penjelasan lebih lanjut:

Struktur Grafik TensorFlow
  • Node: Node dalam grafik TensorFlow merepresentasikan operasi atau komputasi yang dilakukan pada data
  • Edge: Edge dalam grafik TensorFlow merepresentasikan aliran data antara node-node.
Cara Kerja Grafik TensorFlow
  • Data masuk: Data masuk ke dalam grafik melalui node input.
  • Komputasi: Node-node dalam grafik melakukan komputasi pada data, seperti operasi matematika atau transformasi data.
  • Aliran data: Hasil komputasi dari setiap node diteruskan ke node berikutnya melalui edge.
  • Output: Hasil akhir dari komputasi dalam grafik adalah output dari model.
Manfaat Struktur Grafik TensorFlow
  • Efisiensi komputasi: Struktur grafik memungkinkan TensorFlow untuk mengoptimalkan komputasi dan mengurangi waktu pelatihan model.
  • Fleksibilitas: Struktur grafik memungkinkan pengguna untuk membuat model yang kompleks dan fleksibel.
  • Visualisasi: Struktur grafik dapat divisualisasikan untuk memahami aliran data dan komputasi dalam model.




    Pengolahan dengan Tensor -------> Penggunaan Array Multidimensi

TensorFlow menggunakan tensor sebagai struktur data dasar untuk merepresentasikan data multidimensi. Dengan menggunakan tensor, TensorFlow dapat merepresentasikan dan mengolah data multidimensi dengan efisien dan fleksibel. Berikut adalah penjelasan singkat:

Tensor

  • Definisi: Tensor adalah array multidimensi yang dapat merepresentasikan data dengan berbagai dimensi.
  • Dimensi: Tensor dapat memiliki berbagai dimensi, seperti 0D (skalar), 1D (vektor), 2D (matriks), dan seterusnya.
Pengolahan dengan Tensor
  • Operasi: TensorFlow menyediakan berbagai operasi untuk mengolah tensor, seperti penjumlahan, perkalian, dan transformasi.
  • Komputasi: TensorFlow dapat melakukan komputasi pada tensor dengan menggunakan operasi yang disediakan.
Manfaat Penggunaan Tensor
  • Fleksibilitas: Tensor dapat merepresentasikan data dengan berbagai dimensi, sehingga memungkinkan pengguna untuk membuat model yang kompleks.
  • Efisiensi: TensorFlow dapat mengoptimalkan komputasi pada tensor, sehingga memungkinkan pengguna untuk membuat model yang efisien.

Tiga Bagian Utama --------> Arsitektur TensorFlow

Dengan tiga bagian utama ini, TensorFlow dapat menyediakan platform yang efisien dan fleksibel untuk pengembangan model machine learning.

Front-end
  • API: Front-end menyediakan API (Application Programming Interface) untuk pengguna, seperti Python API atau Java API.
  • Pembuatan Grafik: Front-end bertanggung jawab untuk membuat grafik komputasi yang merepresentasikan model machine learning.
Graph Execution Engine
  • Optimasi Grafik: Graph Execution Engine mengoptimalkan grafik komputasi yang dibuat oleh front-end untuk meningkatkan efisiensi komputasi.
  • Penjadwalan: Graph Execution Engine juga bertanggung jawab untuk menjadwalkan operasi-operasi dalam grafik komputasi.
Runtime
  • Eksekusi Grafik: Runtime bertanggung jawab untuk mengeksekusi grafik komputasi yang telah dioptimalkan dan dijadwalkan oleh Graph Execution Engine.
  • Manajemen Sumber Daya: Runtime juga bertanggung jawab untuk mengelola sumber daya komputasi, seperti CPU, GPU, atau TPU.



Arsitektur --------> TensorFlow

Arsitektur TensorFlow terdiri dari tiga bagian utama: memproses data, membangun model, dan melatih model untuk menghasilkan output yang akurat.

Pra-pemrosesan Data:
Persiapan data untuk dimasukkan ke dalam model yang akan dibangun, termasuk di dalamnya menghapus nilai duplikat, pen-skalaan, standarisasi, dan lain-lain.

Pembuatan Model:
Setelah dilakukan pemrosesan data, selanjutnya dilakukan pembuatan model dengan menggunakan berbagai algroritma.

Pelatihan dan Evaluasi Model:
Langkah terakhir setelah membangun model adalah melatih dan mengevaluasi untuk memeriksa apakah model menghasilkan keluaran akurat atau tidak.

04- Operasi Sederhana dalam TensorFlow



Operasi Matematis dalam TensorFlow

TensorFlow menyediakan berbagai operasi matematika dan fungsi untuk manipulasi tensor, yang memungkinkan pengguna untuk membuat model machine learning yang kompleks. Dengan menggunakan operasi dan fungsi ini, pengguna dapat membuat model machine learning yang kompleks dan fleksibel dengan TensorFlow.

Operasi Matematika

  • Penjumlahan: tf.add() atau + untuk menjumlahkan dua tensor.
  • Pengurangan: tf.subtract() atau - untuk mengurangkan dua tensor.
  • Perkalian: tf.multiply() atau * untuk mengalikan dua tensor.
  • Pembagian: tf.divide() atau / untuk membagi dua tensor.
Fungsi Manipulasi Tensor

  • Reshape: tf.reshape() untuk mengubah bentuk tensor.
  • Transpose: tf.transpose() untuk mengubah urutan dimensi tensor.
  • Squeeze: tf.squeeze() untuk menghapus dimensi yang tidak diperlukan.
  • Expand_dims: tf.expand_dims() untuk menambahkan dimensi baru.

Operasi Lainnya

  • Reduksi: tf.reduce_sum(), tf.reduce_mean(), tf.reduce_max() untuk menghitung nilai reduksi dari tensor.
  • Operasi Logika: tf.equal(), tf.not_equal(), tf.greater() untuk melakukan operasi logika pada tensor.


API Keras untuk Pelatihan


Penggunaan API Keras di TensorFlow memudahkan proses pelatihan model dengan menyediakan antarmuka yang lebih intuitif dan efisien. Dengan menggunakan API Keras, pengguna dapat membuat model machine learning dengan lebih cepat dan efisien, sehingga memungkinkan mereka untuk fokus pada pengembangan model yang lebih baik.

Kelebihan API Keras

  • Sederhana dan Intuitif: API Keras memiliki sintaks yang sederhana dan intuitif, sehingga memudahkan pengguna untuk membuat model machine learning.
  • Modularitas: API Keras memungkinkan pengguna untuk membuat model dengan menggunakan blok-blok bangunan yang dapat digunakan kembali.
  • Fleksibilitas: API Keras mendukung berbagai jenis model, termasuk model sequential, model fungsional, dan model subclassing.
  • Integrasi dengan TensorFlow: API Keras terintegrasi dengan baik dengan TensorFlow, sehingga pengguna dapat memanfaatkan fitur-fitur TensorFlow lainnya.

Fitur API Keras

  • Layer: API Keras menyediakan berbagai jenis layer, termasuk layer dense, layer convolutional, dan layer recurrent.
  • Model: API Keras memungkinkan pengguna untuk membuat model dengan menggunakan layer-layer yang telah didefinisikan.
  • Kompilasi Model: API Keras memungkinkan pengguna untuk mengkompilasi model dengan menentukan loss function, optimizer, dan metrik evaluasi.
  • Pelatihan Model: API Keras memungkinkan pengguna untuk melatih model dengan menggunakan data pelatihan.

Debugging dengan Eager Execution

Mode Eager Execution di TensorFlow memungkinkan pengguna untuk melakukan debugging dan introspeksi secara aktif dengan menyediakan beberapa fitur yang memungkinkan pengguna untuk memeriksa dan memanipulasi tensor secara langsung. Dengan menggunakan mode Eager Execution, pengguna dapat melakukan debugging dan introspeksi secara aktif, sehingga memungkinkan mereka untuk memahami bagaimana model machine learning mereka bekerja dan membuat perubahan yang diperlukan.

Kelebihan Mode Eager Execution

  • Debugging yang Lebih Mudah: Mode Eager Execution memungkinkan pengguna untuk melakukan debugging secara langsung dengan menggunakan alat debugging standar Python.
  • Introspeksi yang Lebih Baik: Mode Eager Execution memungkinkan pengguna untuk memeriksa nilai tensor secara langsung dan memanipulasi tensor secara dinamis.
  • Eksekusi yang Lebih Transparan: Mode Eager Execution memungkinkan pengguna untuk melihat secara langsung bagaimana operasi-operasi dieksekusi dan bagaimana tensor-tensor diolah.

Fitur Mode Eager Execution

  • Eksekusi yang Langsung: Mode Eager Execution mengeksekusi operasi-operasi secara langsung tanpa perlu membuat grafik komputasi terlebih dahulu.
  • Pemeriksaan Nilai Tensor: Mode Eager Execution memungkinkan pengguna untuk memeriksa nilai tensor secara langsung dengan menggunakan fungsi print() atau tf.print().
  • Manipulasi Tensor: Mode Eager Execution memungkinkan pengguna untuk memanipulasi tensor secara dinamis dengan menggunakan operasi-operasi TensorFlow.


05- Contoh Penggunaan TensorFlow


TensorFlow dapat digunakan dalam berbagai aplikasi machine learning dan deep learning. Berikut contoh penggunaan TensorFlow.

Klasifikasi Gambar

  • Mengklasifikasikan gambar ke dalam kategori tertentu, seperti hewan, kendaraan, atau bangunan.
  • Menggunakan dataset CIFAR-10 untuk mengklasifikasikan gambar ke dalam 10 kategori.

Pengenalan Wajah
  • Mengidentifikasi wajah dalam gambar atau video.
  • Menggunakan TensorFlow untuk mengembangkan sistem pengenalan wajah yang dapat mengidentifikasi individu

Pemrosesan Bahasa Alami

  • Menganalisis dan memahami bahasa manusia, seperti teks atau ucapan.
  • Menggunakan TensorFlow untuk mengembangkan model bahasa yang dapat menjawab pertanyaan atau menghasilkan teks.

Prediksi Waktu

  • Memprediksi nilai waktu yang akan datang berdasarkan data historis.
  • Menggunakan TensorFlow untuk memprediksi harga saham atau cuaca.

Deteksi Objek
  • Mendeteksi objek dalam gambar atau video.
  • Menggunakan TensorFlow untuk mengembangkan sistem deteksi objek yang dapat mendeteksi kendaraan atau pejalan kaki.


Pustaka:
  • https://en.wikipedia.org/wiki/TensorFlow
  • https://it.proxsisgroup.com/tensorflow-machine-learning-framework-buatan-google/
  • https://dqlab.id/mengenal-tensorflow-library-untuk-keperluan-machine-learning-python
  • Implementasi Framework Tensorflow Object Detection Dalam Mengklasifikasi Jenis Kendaraann Bermotor; Dufan J. P. Manajang 1), Sherwin R.U.A. Sompie 2), Agustinus Jacobus 3); Jurnal Teknik Informatika vol.15 no.3 Juli – September 2020.






Komentar