Skip to content
Chetabahana edited this page Dec 29, 2021 · 284 revisions
This wiki is courtesy of Chetabahana Project. Find all of them on Project Map.
🔼 Intro ◀️ Prev 🔁 Base Next ▶️ Last 🔽

Pada sesi ini kita bahas fungsi tensorflow dan keras dalam membangun tensor kit di komputer dan komponen apa saja yang akan kita keras-kan didalamnya.

Table of Contents

Skema

Sebelum masuk detil terlebih dahulu akan saya coba uraikan apa yang saya maksudkan dengan Tensor-Kit supaya minimal disini kita bisa sebahasa dan setanah air.

Tidak dapat dipungkiri bahwa Tensorflow yang dikembangkan oleh Google Brain ini merupakan aplikasi yang sudah teruji banyak diminati oleh para pengembang software di dunia ini.

Dia menduduki tempat teratas untuk program yang ditulis dalam python. Jauh diatas program yang sudah betengger lama seperti django, flask, ansible, pytorch dll.

Yang menjadi tema adalah bagaimana kita bisa memanfaatkannya. Sangat disayangkan bila cara atau hasil dari pemikiran orang² kelas dunia begini tidak kita pelajari.

Berikut saya akan uraikan cara yang akan ditempuh.

Pola

Tensorflow mengandung kata flow. Artinya adalah aliran. Dari definisinya di Wikipedia maka yang dimaksud aliran disini adalah aliran dalam jaringan syaraf.


Yang jadi pertanyaan adalah mengapa Google mau²nya bikin aplikasi tentang jaringan syaraf. Seperti kurang kerjaan saja kan itu bidang kedokteran. Nah saya coba jelaskan.

Otak kita terdiri dari milyaran sel saraf. Setiap sel saraf terhubung dengan sel saraf lainnya dan saling berkomunikasi dengan menyampaikan sinyal-sinyal.

Setiap bagian otak memiliki tugas yang berbeda namun saling berkaitan. Jika terjadi gangguan seperti pada otak seseorang dengan Alzheimer, terdapat penumpukan zat abnormal yang menyebabkan terganggunya sistem persinyalan antar satu sel saraf dengan lainnya.

Selanjutnya, sel² saraf pun menjadi rusak. Kerusakan pada sel saraf ini menyebabkan menurunnya produksi beberapa zat kimia penting dalam otak yang berfungsi untuk komunikasi antar sel saraf, yang dikenal dengan nama Neurotransmitter.

Neurotransmitters are chemical messengers that transmit a signal from a neuron across the synapse to a target cell, which may be another neuron, a muscle cell, or a gland cell. Neurotransmitters are chemical substances made by the neuron specifically to transmit a message. Wikipedia

Penurunan beberapa jenis neurotransmitter ini akhirnya menyebabkan sel saraf tak dapat lagi menyampaikan sinyal dengan baik, dan berakibat gangguan pada fungsi otak orang tersebut.

Fungsi zat kimia inilah yang diadopsi oleh tensorflow.

Basis

Jadi yang dimaksud disini bukan anatominya melainkan aliran algoritma di jaringan syarafnya. Sedangkan Google sendiri memang kerjaannya itu gak jauh² dari algoritma.


Algoritma aliran ini yang kemudian dibuat secara matematis kedalam bentuk array multidimensi yang dimaksud sebagai tensor.

Tensors are multi-dimensional arrays with a uniform type (called a dtype). You can see all supported dtypes at tf.dtypes.DType.

Disini aliran algoritma akan merupakan buah hasil pembelajaran (learning) yaitu dalam bentuk suatu jaringan. Jaringan algoritma itu yang kemudian di satukan dalam suatu bentuk model.

Dalam selang waktu beberapa tahun terakhir Google mengembangkan Tensor Processing Unit (TPU) untuk mengakselerasi hasil perhitungan tensorflow terhadap suatu model.

Hal ini dimungkinkan karena Tensorflow mengadopsi sistem Keras sebagai sistem operasi utama jadi dia itu seperti halnya drive C:\ jika kita padankan dengan komputer berbasis Windows.

Simpelnya Keras ini adalah suatu modul yang dapat mengkonversi aliran dari suatu algoritma dan kemudian model nya itu dikompile kedalam suatu bentuk yang dapat dipahami oleh komputer.

Keras is a deep learning API written in Python, running on top of the machine learning platform TensorFlow. It was developed with a focus on enabling fast experimentation. Being able to go from idea to result as fast as possible is key to doing good research.

Ini yang saya maksud dengan keras-kan.

Frame

Dia ini pengembangannya mengambil tempat di GitHub. Sistem apapun selalu akan mempunyai interface yang mengantarkan kita masuk kedalamnya. Di GitHub istilahnya Dekstop.

Demikian juga di Windows interface ini lebih dikenal dengan istilah yang sama. Dari perjalanan pada setiap versinya Windows akan selalu mengedepankan fitur barunya di Dekstop ini.

Pada projek ini dgunakan interface di Side Bar pada bagian Mapping. Bila Anda mobile ada di bawah halaman yang Anda baca sedangkan jika pakai pc di sebelah kanan atas.

Jika Anda mobile tapi ingin lihat penampilannya seperti di atas maka Anda tinggal ubah saja ke dekstop maka dia akan ada di kanan atas seperti tampak pada gambar berikut ini:

Interface pada sistem yang akan kita bahas ini mengadopsi sistem mapping dari dua (2) macam akun di GitHub yaitu akun user dan organisasi.

Untuk kedua macam akun di GitHub kita dibatasi pin maksimum 6 (enam) projek. Maka jumlah dari kedua akun adalah 2 x 6 atau 12.

Nah pada projek ini model yang akan kita ambil ini gak jauh². Kita ambil ISO Image dari Windows Setup yang sekarang ini dapat di download secara gratis dengan kecepatan yang tidak dibatasi.

Kebijaksanaan ini terjadi karena sejak Windows 10 saat ini terbuka buat setiap pengembang untuk bergabung via Windows Insider Program.

Microsoft launched Windows Insider for developers, enterprise testers and the "technically able" to test new developer features on pre-release software & builds, not given publicly released, to gather low level diagnostics feedback in order to identify, investigate, mitigate & improve the Windows 10 OS, with the help, support and guidance of the Insider program Participants, in direct communication with Microsoft Engineers via a proprietary communication & diagnostic channel.

Dengan program ini kita dapat pelajari registry dari Windows untuk bisa kita keras-kan sampai kedalaman tak berbatas (deep learnings) tanpa kawatir tentang ijin batas atau deep limit.

Dengan demikian pada gilirannya akun kita di Windows adalah juga akun di GitHub. Dari keduanya kita dapat keras-kan model yang kita bangun di komputer ke Dunia Internet via tensorflow.

Model inilah yang saya maksud dengan Tensor-Kit. Jadi simpelnya kata Tensor-Kit ini kita anggap saja adalah merupakan singkatan dari kalimat: Tensorflow please keras it...😅

Berikut saya uraikan algoritma sederhanannya.

Form

Pertama² akan saya uraikan bagaimana menerapkan model profile akun ini ke dalam struktur projek. Kita akan mulai dari fungsi file .gitignore seperti contoh berikut:

# Default
Music/
Links/
source/
Videos/
AppData/
Contacts/
OneDrive/
Searches/
Pictures/
Libraries/
Documents/
Downloads/
Favorites/
AccountPictures/
MicrosoftEdgeBackups/

# Dependency
build/
node_modules/
jspm_packages/
nvvp_workspace/
getting-started/

# Logs
logs
*.log
ntuser.*
npm-debug.log*
yarn-debug.log*
yarn-error.log*

# Runtime
pids
*.ini
*.lnk
*.dat
*.tgz
*.pid
*.seed
*.pid.lock

# Optional
.npm
.next
.eslintcache
.bash_history
.python_history
.node_repl_history

# Dotenvs
.env
.aws/
.ssh/
.azure/
.gnupg/
.keras/
.conda/
.condarc
.docker/
.eclipse/
.astropy/
.minttyrc
.gitconfig
.matplotlib/
.virtualenvs/
.continuum/
.ipython/
.jupyter/
.spyder-py3/

Prinsipnya struktur akun di Windows ini kita dekati dengan struktur akun di GitHub. Akun di GitHub terkorelasi dengan sistem Jekyll/Liquid.

Dengan sistem Jekyll ini maka setiap file csv yang kita masukan kedalam folder data akan secara otomatis dikonversikan kedalam json dan kemudian dapat diakses via GitHub API.

Dalam uraian² Anda akan lihat interface ini bisa berbeda² isinya. Contoh 12 item projek yang tercantum di interface pada bagian mapping berbeda dengan yang disematkan di GitHub.

Shape

Skema dari akun Windows identik dengan /home/user pada sistem Linux. Sekarang ini Windows dan Linux terintegrasi via WSL sehingga kita tak perlu lagi dual boot.

Kita akan membuat akun pada dua (2) sistem ini saling diintegrasikan sehingga merupakan satu (1) unik akun yang sama.

Hasilnya profile di kedua akun jadi satu. Struktur file ini akan beraku valid dan seragan (uniform) baik itu akun user Windows, akun $HOME Linux maupun akun user GitHub sendiri.

Jadi itu semua karena disesuaikan dengan topik yang sedang dibahas. Namun secara lengkapnya akan sama banyaknya dengan jumlah semua interface yang diatur komputer.

Profile

Disini saya ambil filosofi dari banyaknya jumlah bulan dalam satu tahun. Dimana mau sistem barat, timur, arab, cina, jawa, sunda dll semua seragam (uniform) yaitu duabelas (12).

Salah satu keistimewaan formasi ini adalah flexibel digeser dimana dalam kondisi normal mereka cenderung selalu mengisi penuh sehingga tidak ada tempat yang dibiarkan kosong.

Pengecualiannya adalah memang kita sengaja memaksakan untuk mendapatkan tempat kosong. Nah darinya itu akan ada ketidakstabilan yang arahnya cenderung ingin kembali penuh.

Perhatikan bahwa tempat kosong ini diawali dengan jumlah lima (5) kolom, diikuti dengan tujuh (7). Nah dua angka ke-1 dan ke-2, yaitu 5 dan 7 ini kita jumlah adalah juga 12.

Node

Kita akan bahas mulai dari yang dekat² dulu yaitu struktur dari file Windows di komputer. Kita akan simak dan bereksperimen mulai dari sumber MS-DOS versi awal yang muat dalam floppy disket.

Apa jaman now begini Anda masih bisa buka disket? Sejak Windows 10 ini bukan hal yang mudah. Berikut tangkapan layar antara file MS-DOS, Windows-XP dan Windows-10.

Coba misalkan pada MS-DOS kita beri folder Program Files. Bukankah mirip strukturnya dengan Windows-XP? Kita bisa coba hal yang sama pada Windows-XP juga akan mirip Windows-10.

Berarti disini ada suatu kecenderungan yaitu untuk melengkapi atau menutupi kekurangan di versi sebelumnya. Bicara kecenderungan maka sudah barang tentu kita bicara tentang tensor.

Tensor ini yang akan kita jadikan modelnya.

Theory

Seperti halnya tensorflow maka di eksperimen ini kita juga akan ambil python sebagai bahasa program atau intrepreter utama. Diikuti bahasa² lainnya sejauh diperlukan.

Salah satu kelebihan python adalah bisa dioperasikan dalam environments yang bersifat portable Karena sifat portabel ini maka dia bisa dipindah²kan foldernya suka² kita.

Folder python ini bisa menyerap banyak modul (unlimited) tanpa banyak perlu space. Ini termasuk juga nodejs, salah satu program berbasis javascript engine. Sampai saat ini javascript merupakan bahasa pemrograman yang menduduki tempat paling atas di dunia ini, jauh diatas python.

Nodejs ini juga bisa beranak dan bercucu dengan andalannya yaitu package.json.
Jadi boleh dikata kita sekali tarik jaring maka semuanya kebawa.

Outline

Selain itu python juga flexible dengan sistem container yaitu docker. Dengan keduanya kita bisa kumpulkan dataset secara virtual, spy, hit and run, bahkan ghosting atau hantu²an.

Folder inilah yang nantinya akan jadi basis tensor. Kita akan bereksperimen sedemikian sehingga dia ini bisa berlaku sebagai pengamat grammar di setiap sistem operasi.

Berikutnya saya akan jelaskan hubungan semua yang saya uraikan di atas dengan tensorflow. Mudah²an akan jadi jelas kemana semua ini nyambungnya.

Konsep

Prosedurnya kita bagi dalam tiga (3) tahap. Setiap tahap ini kita pastikan bahwa komputer harus bisa restart tanpa gangguan apapun. Setel auto power on di BIOS untuk resiko mati listrik.

  1. tahap pertama adalah setup restore tanpa internet (pakai akun lokal)
  2. tahap kedua adalah setup TPU, GPU, dan Emulator (pakai aku internet)
  3. tahap ketiga adalah setup tensorflow via Docker Builds dan Cloud Hubs
Pembagian ini saya susun berdasarkan tingkat kesulitan dan resiko instal ulang. Karenanya akan lebih baik jika tiap tahap kita pakai hardisk terpisah dengan kapasitas secara bertingkat.


Pada setup akun hal yang harus diutamakan adalah automatic login dengan password. Hal ini diperlukan karena kita akan lakukan iterasi saat booting.

Untuk itu kita harus setup dengan akun lokal dan akun Microsoft. Selain integrasi dengan GitHub maka Microsoft akun dapat kita gunakan untuk recover activation key saat instal ulang.

Untuk tiga (3) tahapan Drive C:\ ini saya labelkan hardisk CORE dengan kapasitas 80, 120 dan 240GB. Port SATA sisa satu (1) lagi yaitu SATA4. Ini dipersiapkan untuk Pool Storage.

Pada project ini yang jadi default adalah hardisk yang ke 1 dan 2. Mereka berproses dari Drive A dan B:, sementara hardisk yang lain akan mewakili Op System. Pemilihannya dilakukan secara otomatis saat restart dengan menggunakan Multiboot.

Logics

Hal yang penting untuk dicatat bahwa dalam membuat Tensor-Kit ini besar kemungkinan timbul masalah kritis dikarenakan salah prosedur atau salah atur komponen berdasarkan speknya.


Untuk itu sangat diperlukan sistem backup. Saya sarankan untuk dapat reimage setiap komponen kembali ke kondisi sebelum masalah itu kita jumpai.

Yang utama tentunya hardisk C:\Windows. Apapun metode yang Anda ambil usahakan agar bisa dilakukan sesingkat dan seakurat mungkin. Lebih mantap lagi bisa dengan sekali Enter atau Klik.

Prinsipnya adalah jauh lebih mudah kita itu maju pada situasi dan kondisi sebelum ada masalah, daripada mencari² solusi untuk bisa kembali kesitu setelah terjadi masalah.

Umum

Caranya adalah kita buat system image. Kemudian kita tranfer.
Lalu di hardisk yang baru kita lakukan penyetelan. Misalkan kita ingin setel akun GitHub:


Jika setelan gagal kita dapat pesan error dari GitHub nya. Nah jika tidak ada solusinya atau tidak bisa di restore maka ulangi lagi proses transfer yang tadi.

error: 'assets/_feeds/skema/diagram/
flowchart/boot.md' is beyond a symbolic link
fatal: Unable to process path assets/_feeds/skema/diagram/flowchart/boot.md

Namun jika berhasil kita lakukan hal yang sama di hardisk awal. Lalu buat lagi system imagenya. Lalu transfer lagi. Di hardisk yang baru kita setel yang lain lagi.

Jadi langkahnya itu sama. Tujuannya supaya memperkecil resiko instal ulang.
Seterusnya juga sama, kita lakukan seperti itu..

Khusus

Untuk setelannya maka kita perlu mengijinkan scripts agar dapat dijalankan oleh PowerShell.

Changes made via Set-ExecutionPolicy only become effective when local and domain policies are set to Not Configured (execution policy Undefined in the scopes MachinePolicy and UserPolicy).
Set-ExecutionPolicy -ExecutionPolicy Unrestricted

Karenanya kita perlu mengaktifkan Developer Mode di setelan Windows:

Untuk sistem Windows perintahnya hanya dapat dilakukan pada akun Administrator. Namun bisa dibuat oleh semua akun jika sudah disetel oleh sang Admin nya.

Yang saya contohkan di atas adalah untuk membuat symbolic link. Di sistem berbasis Windows tersedia dengan perintah: mklink, sedangkan disistem linux perintahnya ln.

Berikutnya akan saya jelaskan hubungan symbolic link ini dengan topik yang sedang kita bahas.

System

Prosedur untuk mengaktifkan symbolic link ini adalah seperti berikut:

* during installation, set config to enabled
* edit policy, add your user on Local Comp Policy > Computer Configuration > Windows Settings > Security Settings > Local Policies > User Rights * Assignment > Create symbolic links
* enable Windows Developer mode to bypass UAC requirement Search > For developer settings > Dev mode

Disini Symbolic link nya sih jadi. Sesuai dengan yang ada di petunjuk. Namun ketika saya pakai sebagai jalan pintas ternyata ditolak GitHub. Maunya harus berupa storage yang ril.

Salah satu caranya adalah dengan memakai software yang dapat membuat image dari setiap komponen. Disini saya gunakan Imdisk Toolkit. Detilnya akan kita bahas terpisah.

Selanjutnya akan saya uraikan apa saja fungsi dari masing² interface. Kita akan bahas sampai titik dimana kita akan menempatkan tensored python.

Filosofi

Berikut kita akan bahas korelasi akun projek di GitHub dengan Tensor-Kit yang kita bangun di komputer. Kita awali dengan skema cloud (klik gambarnya):

Ini merupakan paket tersendiri dari tensorflow. Disitu dijelaskan seperti berikut ini:

The TensorFlow Cloud repository provides APIs that will allow to easily go from debugging, training, tuning your Keras and TensorFlow code in a local environment to distributed training/tuning on Cloud.

Jadi dia akan kita gunakan untuk distribusi setelan model di komputer ke internet.

Cloud yang saya uraikan di atas akan kita padukan dengan penampakan di internet. Detilnya kita akan bahas terpisah di Cloud Hubs. Berikut akan dijelaskan filosofinya secara umum.

Kita kembali ke angka 12. Angka ini terdiri dari dua (2) angka yaitu 1 dan 2. Nah bagaimana Anda bisa mengerti jika dia itu duabelas (12) padahal yang Anda lihat itu adalah angka 1 dan 2?

Berarti penulisan 12 dan semua angka² lain itu symbolic karena kita bicara basis 10. Tidak seperti komputer jika mencerna angka 10. Satu (1) nya hidup. Nol (0) nya mati. Selesai.

Maka dalam kasus ini tidak ada cara lain selain jejerkan itu duabelas (12) satu persatu. Kemudian di setiap jejernya itu kita bedah apa algoritma nya sehingga akhirnya mereka jadi angka 1 dan 2.

Dalam struktur projek algoritma ini yang kita buat secara symbolic kedalam vektor matriks. Bagaimana cara mendapakan vektornya? Silahkan ikuti seterusnya.

Analogi

Untuk membedahnya kita akan gunakan javascript sehingga bisa dijalankan di halaman web. Scriptnya dapat dengan mudah dimuat pada halaman html seperti contoh berikut ini:

<html>
  <head>
    <!-- Load TensorFlow.js -->
    <script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs/dist/tf.min.js"> </script>


    <!-- Place your code in the script tag below. You can also use an external .js file -->
    <script>
      // Notice there is no 'import' statement. 'tf' is available on the index-page
      // because of the script tag above.

      // Define a model for linear regression.
      const model = tf.sequential();
      model.add(tf.layers.dense({units: 1, inputShape: [1]}));

      // Prepare the model for training: Specify the loss and the optimizer.
      model.compile({loss: 'meanSquaredError', optimizer: 'sgd'});

      // Generate some synthetic data for training.
      const xs = tf.tensor2d([1, 2, 3, 4], [4, 1]);
      const ys = tf.tensor2d([1, 3, 5, 7], [4, 1]);

      // Train the model using the data.
      model.fit(xs, ys).then(() => {
        // Use the model to do inference on a data point the model hasn't seen before:
        // Open the browser devtools to see the output
        model.predict(tf.tensor2d([5], [1, 1])).print();
      });
    </script>
  </head>

  <body>
  </body>
</html>

Contoh ini saya copas dari Tensorflow/tfjs berikut ini (klik gambarnya):

Disitu dijelaskan fungsi dari script seperti berikut ini:

TensorFlow.js is an open-source hardware-accelerated JavaScript library for training and deploying machine learning models.

Jadi dengan script ini kita bisa jalankan modul tensorflow di web termasuk juga Keras:

Mekanismenya akan kita atur via pengalokasian USB. Pada projek ini kita akan alokasikan untuk sumber kode (GIT-USB), cloud (HOST-USB), modeling (IMAGE-USB) dan emulator (NET-USB).

Dengan demikian dari duabelas (12) posisi, kita sudah alokasikan dua (2) floppy, tiga (3) hardisk dan empat (4) USB. Jadi totalnya disini ada sembilan (9) posisi kita setel.

Posisi urutan enam (6) dan duabelas (12) akan berhubungan dengan pin masing² akun. Untuk membedakan maka saya gunakan CD. Sekarang total sebelas (11). Tersisa satu (1) posisi lagi.

Pattern

Untuk visualisasi di web juga sudah disediakan. Namanya TensorBoard yang dijalankan dengan nodejs. Seperti sudah diulas, dia ini bisa kita ikutkan di environtment python.

import * as tf from '@tensorflow/tfjs';

// Define a model for linear regression.
const model = tf.sequential();
model.add(tf.layers.dense({units: 1, inputShape: [1]}));

// Prepare the model for training: Specify the loss and the optimizer.
model.compile({loss: 'meanSquaredError', optimizer: 'sgd'});

// Generate some synthetic data for training.
const xs = tf.tensor2d([1, 2, 3, 4], [4, 1]);
const ys = tf.tensor2d([1, 3, 5, 7], [4, 1]);

// Train the model using the data.
model.fit(xs, ys).then(() => {
  // Use the model to do inference on a data point the model hasn't seen before:
  model.predict(tf.tensor2d([5], [1, 1])).print();
});

Untuk fungsi² API nya sudah disediakan. Jika ada yang belum masuk atau masih kurang lengkap maka kita bisa minta nodejs untuk panggil anak-cucunya yang urusannya spesifik kesitu.

Nah sekarang bagaimana kita simulasikan di komputer antara kesemuanya ini bisa teratur satu persatu secara rapih. Apakah pakai filosofi duabelas (12) juga?

Ini kita alokasikan di yang tersisa tadi yaitu urutan ke sebelas (11). Dia berupa memory sementara atau RamDisk sehingga bisa diproses dengan kecepatan tinggi:

RamDisk ini akan kita jalankan via Docker.
Berikut ini ulasannya.

Outlook

Bagian penting berikutnya adalah Docker. Di Windows dia bisa berlaku sebagai Container, Virtual Memory (Hyper-V) dan juga sistem image di Linux via WSL.

Instalasi Docker akan mengambil banyak sumber daya (resources) di komputer. Karenanya dia ini bisa sekaligus merupakan pengujian apakah setelan di komputer kita sudah betul dan rapih.

Jadi yang pertama kali harus kita siapkan justru sistem backupnya. Karena besar kemungkinan kita harus kembali menyetel komputer dari awal lagi.

Setelah berhasil maka kita akan lanjut dengan cara penempatan image oleh Docker. Istilahnya disebut dengan registry. Ini yang akan kita padukan penyimpanan model yang di keras-kan.

Disini kita akan gunakan RamDisk agar file dan sisa² terhapus otomatis saat komputer shutdown sehingga sebanyak apapun model yang diproses dia tidak akan mengambil ruang.

Yang saya uraikan ini adalah sedikit dari banyak trik dalam mengatur sarana dan prasarana yang bisa kita pasang di komputer. Prinsipnya kita persiapkan mereka untuk bisa sedefault mungkin.

Kita batasi dulu sampai batas ini supaya tidak terlalu panjang ceritanya. Berikutnya kita bahas bagaimana mempersiapkan mereka sebagai Tensor-Kit.

Scheme

Berikut penampakan barang² yang saya pakai dalam melakukan uji tensorflow. Yang dibawah ini adalah USB yang dipasang di belakang komputer. Saya beli online yang murah² dari type terlaris.


Yang di bawah ini adalah emulator yang biasa dipakai di organ. Typenya GOTEK dengan tiga (3) digit sehingga bisa pilih irama lagu dari 000 s/d 999. Pas 1000.

Jadi barang²nya tidak ada yang canggih atau mahal². Komputernya pun yang biasa saja. Asal bisa dipasang Windows 10 maka yang jadulpun jadi. Semua orang yang berminat bisa ikuti.

Realisasi

Karakter yang kita setel di komputer ini kita akan simulasikan dalam bentuk konfigurasi matriks aljabar. Seperti sudah dijelaskan, matriks (tensor) adalah urusan utama dari tensorflow.

Matriks di atas ini adalah gambaran sistemnya secara umum. Angka baris dan kolom dimulai dari angka dua (2) dan tiga (3). Ini yang akan kita kembangkan mulai dari totalnya yaitu angka lima (5).

Seperti sudah dijelaskan diatas, angka 5 pada sistem 12 menyebabkan kekosongan sehingga dia berpasangan dengan 7.

Tensor mereka akan kita simulasikan dengan Sistem DNA yang secara default akan melakukan replikasi untuk mengisi kekosongan ini supaya penuh kembali.

Begitu penuh muncul angka 12. Dimana angka ini terdiri dari angka 1 dan 2 yang akan diwakili lagi oleh drive A: dan B: sehingga sistem balik dari angka 2 dan 3 ke angka 5 dan 7. Begitu seterusnya.

Teristimewanya 2, 3, 5, 7 adalah empat (4) angka prima di bawah angka 10. Sedangkan angka 10 sendiri memuat dua angka yaitu 1 dan 0. Satu²nya bahasa yang dimengerti komputer.

Itulah sebabnya pada sistem ini kita kondisikan penuhnya itu di angka 12.
Karena setelahnya maka angka yang muncul adalah angka 1 dan 2.

Korelasi

Mekanisme ini yang saya maksud dengan kecenderungan. Sedangkan dalam dunia matematik arah kecenderungan dari sekumpulan objek itu yang dimaksud dengan istilah tensor.

Dalam matematika, tensor adalah objek aljabar yang menggambarkan sebuah hubungan (multilinear) di antara sehimpunan objek aljabar yang berhubungan dengan sebuah ruang vektor. Objek yang bisa dipetakan oleh tensor di antaranya vektor (yang biasanya, tapi tidak selalu, digambarkan sebagai anak panah dengan panjang dan arah tertentu) dan skalar (yang merupakan bilangan biasa seperti bilangan real), dan, bahkan tensor lainnya.

Tensor ini kita petakan (mapping) untuk kedua akun di GitHub di dua (2) floppy drive A: dan B: jadi masing² mewakili 1 dan 2. Nah jika keduanya digabung akan muncul tensor duabelas (12) tadi.

Tensor 12 dari drive A: dan B: ini kita keras-kan lalu dalam kondisi boot disebar ke tiga (3) hardisk utama yaitu drive C:, D:, dan E: dimana drive pertama tentunya memuat C:\Windows.

Dari angka dua (2) floppy dan tiga (3) hardisk ini kita buat matriksnya sehingga mewakili kondisi default. Konfigurasinya sudah diuraikan di halaman muka dari projek yang berujung seperti ini:

True Prime Pairs:
(5,7), (11,13), (17,19)

Description
===========
Getting result within a huge package (5 to 19) by spreading (11)
the untouched objects (7) and tunneling (13) them in to a definite scheme (17).

Compositions
============

layer| 1st |       2nd       |                3rd                |∑(2,3)
-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+------     ---
     |     |  7  |{19} | 38  | 62  | 63  | 64  | 93  | 94  | 95  | 139        |
  i  +  1  +-----+-----+-----+-----+-----+-----+-----+-----+-----+------      5¨
     |     |  8  | 20  | 39  | 65  | 66  | 68  | 96  | 97  | 98  |            |
-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+------     ---
     |     |  9  | 21  | 40  |{43} | 67  | 69  | 99  | 100 | 101 | 286        |
     +  2  +-----+-----+-----+-----+-----+-----+-----+-----+-----+------      7¨
     |     | 10  | 22  | 41  | 44  | 45  | 70  | 102 | 103 | 104 |            |
  q  +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+------     ---
     |     | 11  | 23  | 42  | 46  | 47  |{71} | 105 | 106 | 107 | 114        |
     +  3  +-----+-----+-----+-----+-----+-----+-----+-----+-----+------     11¨
     |     | 12  | 24  | 25  | 48  | 49  | 72  | 108 | 109 | 110 |            |
-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+------     ---
     |     | 13  | 26  | 27  | 50  | 51  | 73  | 74  | 111 | 112 | 247        |
     +  4  +-----+-----+-----+-----+-----+-----+-----+-----+-----+------     13¨
     |     | 14  | 28  | 29  | 52  | 53  | 75  | 76  | 113 | 114 |            |
  r  +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+------     ---
     |     | 15  | 30  | 31  | 54  | 55  | 77  | 78  | 79  | 80  | 157        |
     +  5  +-----+-----+-----+-----+-----+-----+-----+-----+-----+------    {17¨}
     |     | 16  | 32  | 33  | 56  | 57  | 81  | 82  | 83  | 84  |            |
-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+------     ---
     |     | 17  | 34  | 35  | 58  | 59  | 85  | 86  | 87  | 88  | 786        |
  o  +  6  +-----+-----+-----+-----+-----+-----+-----+-----+-----+------     19¨
     |     | 18  | 36  | 37  | 60  | 61  | 89  | 90  | 91  |{92} |            |
-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+------     ---
  ∑  | {21}| 150 |     |     |     |     |     |     |     |     | 1729

     |--------------------------------------------------- 16¨ ---|
     |--------------------------------------- 15¨ ---|
     |--------------------------- 14¨ ---|
     |--------------- 13¨ ---|
     |-- {12¨} --|

Baris dan kolomnya ada 12x10. Berujung di 114. Setiap angka akan kita bedah tensornya. Pada projek ini ada dua (2) repository yang masing² mewakili akun user dan organisasi plus 12 lagi yang mewakili angka 1 s/d 12, jadi total 14. Maka sisa dari 114 nya pas seratus (100).

Konfigurasi inilah yang kita padankan dengan enam (6) pin project di GitHub.
Ini yang kita akan bedah hingga berujung di angka duabelas (12).

Grounds

Sekarang kita akan bahas korelasi antara tensor pada komputer dengan GitHub yang sampai saat ini sudah menampung lebih dari 100 juta projek dari sekitar 50 juta akun pengguna (th 2021).

Dari jumlah ini kita akan pilih tepat 100 projek untuk kita alokasikan seperti tensorflow. Dengan demikian tingkat penyortirannya adalah sekitar satu per sejuta (1/1000000).

Disini kita akan melakukannya dalam dua tingkat sehingga per tingkatnya adalah satu per seribu (1/1000) atau akar kuardrat dari satu per sejuta. Itu sebabnya kita perlu Emulator 1000.

In numerical analysis, Newton's method, also known as the Newton–Raphson method, named after Isaac Newton and Joseph Raphson, is a root-finding algorithm which produces successively better approximations to the roots (or zeroes) of a real-valued function. Wikipedia

Caranya via karakter dan tensor algoritmanya. Tingkat pertama kita harus ratakan dulu sumbu mereka kedalam matriks. Kemudian di tingkat kedua meratakan gradiennya menjadi vektor:

Teknik pendekatan akar ini tersedia di tensorflow yaitu via Metode Newton. Detilnya bisa Anda simak pada halaman panduan tensorflow berikut (klik gambarnya):

Penyortiran di tingkat pertama kita lakukan berdasarkan klasifikasi objek sedangkan pada tingkat kedua pada masing² projeknya. Jadi yang kita akan sorot itu karakternya dulu baru objeknya.

Karenanya yang jadi kunci disini adalah cara mengambil konsep algoritma dari tensor tiap projek. Filosofinya adalah bahwa secanggih apapun tiap projek pasti dia ada lubang kekosongan.

Diagram

Projek² di GitHub tentu berlainan jenis dan rupanya. Disini sekali lagi kita akan keras-kan sehingga apapun bentuknya maka karakter dari tensornya itu muat dalam satu floppy 1.44MB.

Berdasarkan karakter dalam floppy ini maka kita bisa lakukan penyortiran. Gambaran kasarnya 1,44MB itu muat sekitar 10.000 baris kalimat, jika dibuat buku itu sekitar 500 lembar halaman.

Kalau novel itu umumnya sekitar 200 halaman maka 500 halaman itu akan seperti buku panduan mata kuliah di kampus² atau seperti kitab² agama.

Template

Drive A: hanya memuat satu (1) floppy. Sedangkan Drive B: digunakan Emulator sehingga bisa auto boot ke salah satu dari seribu (1000) floppy berdasarkan output tensorflow.

Dengan demikian kita akan bisa ukur dan dapatkan dataset nya. MS-DOS yang masuk ke floppy juga bukan file aslinya melainkan versi yang sudah di keras-kan.

Jika profil projeknya lebih rumit maka kita bisa kompres lagi sehingga bisa muat 100.000 baris, jadi jika semua dicetak akan ada 10 buku mata kuliah, muat untuk satu semester.

Projek serumit apapun menurut saya bisa dipahami algoritmanya kira dalam satu semester. Jadi sekali kita bisa tangkap maka otomatis dalam sekejap bisa diberlakukan untuk semua projek.

Jika misal ada yang tidak bisa juga maka ada dua kemungkinan. Entah projeknya yang ngaco atau otak kita yang gak nyampe. Nah untuk yang seperti ini kita buat simpel, skip saja.

Package

Berdasarkan konsep tensor maka mereka kita kumpulkan dalam wadah data train, setiap ada yang cocok dengan tensor yang kita bangun di komputer maka kita setel dia sebagai dataset.

Kita akan lakukan hal yang sama untuk sistem komputer berbasis Linux. Demikian juga sistem lain seperti Cygwin/X dan tak ketinggalan adalah Android untuk mewakili sistem mobile.

Keras allows users to productize deep models on smartphones (iOS and Android), on the web, or on the Java Virtual Machine. It also allows use of distributed training of deep-learning models on clusters of Graphics processing units (GPU) and tensor processing units (TPU). Wikipedia

Dataset ini yang kemudian kemudian kita uji lagi sewaktu booting. Kenapa diuji lagi dalam kondisi booting adalah agar lepas dari pengaruh tensor lain atau teman² bawaannya.

Nah pengumpulan dataset ini yang akan menentukan arah tensor secara keseluruhan. Dimana dia akan sampai pada titik epoch jika kembali ke kondisi penuh seperti yang sudah diuraikan di awal.

Untuk statusnya sendiri kita bisa cek secara portable dan iterasinya bisa kita atur supaya aktif hanya waktu komputernya idle. Jadi bisa kita tinggal tidur..

Updating

Konfigurasi ini akan kita jadikan model yang dapat dioperasikan dengan tensorflow.keras. Model ini bisa menggunakan dua (2) macam format yaitu format json dan format yaml.

Formasi ini akan dilanjut dengan formasi komponen lain seperti CD, DVD dan tak ketinggalan USB sehingga semua terwakili. Di salah satu ujung titik balik ke floppy kita alokasikan tensorflow.

Saat booting profile di Drive B: ini kita uji lagi secara menyeluruh via dataset yang kita simpan di Drive A: Jika cocok maka kita sebar lagi mulai dari tiga (3) drive seperti yang dijelaskan di atas.

Proses penyebaran ini akan merupakan proses yang paling rumit. Karena kita harus otomatisasi akses dari installer ke komputer pada posisi yang tepat saat komputernya booting.

Delivery

Sistem iterasi ini akan menyangkut sistem penyebaran atau jaringan ikatan sel syaraf yang di keras-kan berdasarkan korelasi antara Drive A: dan B:


Untuk itu kita akan gabungkan sistem nya dengan Docker sehingga bisa flexible ke semua sistem tanpa tergantung dari salah satu pun sistem operasi.

Berikut akan diuraikan sistemnya secara umum.

Branching

Untuk sumber kode saya pilih GitHub dan image di Docker Hubs sedangkan untuk cloudnya maka dari sekian banyak Cloud Provider saya pilih Google Cloud Platform.


Dengan akun ini kita bisa berlangganan berbagai macam Cloud Service dari Google termasuk untuk menjalankan program dengan fasilitas Tensor Processing Unit.

TPUs are typically Cloud TPU workers, which are different from the local process running the user's Python program. Thus, you need to do some initialization work to connect to the remote cluster and initialize the TPUs. Note that the tpu argument to tf.distribute.cluster_resolver.TPUClusterResolver is a special address just for Colab. If you are running your code on Google Compute Engine (GCE), you should instead pass in the name of your Cloud TPU.

Jadi kita bisa setup tensorflow cloud dengan TPU ini untuk mendapatkan hasil penyortiran projek. Ini yang kemudian harus kita atur mekanismenya antara setelan komputer ke setelan di internet.

Hasil dari antara kedua sistem ini maka kita akan dapat sebarkan sistem yang ada di komputer ke internet via Cloud Hubs. Ini yang akan kita simulasikan terlebih dahulu di komputer.

Langkah pertama tentu kita harus sinkronisasikan antar akun user dan organisasi. Jadi kita akan lakukan projek per projek, satu persatu serapih mungkin supaya menjadi default.

Agar ada study kasus internet maka dalam project ini saya ambil topik e-Commerce. Salah satu projeknya saya pilih berdasarkan ranking teratas di GitHub yaitu Saleor.

Namun dia saya pasang bukan untuk jadi retail jualan. Dia ada karena dibutuhkan saat tes sampel karakter tensornya. Disini kita bisa ukur apa yang jadi trend dengan hasil penampakan layar.

Bahasan tentang tema internet ini sudah diluar skope bahasan tensorflow. Ini dibahas pada akun organisasi. Jadi tensorflow ini saya gunakan untuk mengantar akun user kesana.

Tema umum tentang Tensor-Kit ini akan kita bahas lebih detil pada bagian² berikutnya. Kita akan rangkum mulai dari dokumentasi tensorflow dan berbagai sumber² lain yang bisa kita dapat.

Manuscript

Namun perlu diketahui bahwa ilmu pengetahuan sampai saat ini masih berkisar di kulitnya atau imagenya saja, masih begitu banyak hal² rumit dari sistem jaringannya yang belum terungkap.


Jadi kerumitan utamanya itu adalah sistem dari jutaan sel saraf (neuron) yang saling terhubung ini bekerja untuk perkembangan bahasa, pikiran dan ingatan dari sejak bayi sampai dewasa.

Sistem saraf merupakan jaringan paling rumit dan paling penting karena terdiri dari jutaan sel saraf (neuron) yang saling terhubung dan vital untuk perkembangan bahasa, pikiran dan ingatan. Wikipedia

Saat ini dunia teknologi tengah menggali kecerdasan yang diciptakan dan dimasukkan ke dalam suatu mesin (komputer) agar dapat melakukan pekerjaan seperti yang dapat dilakukan manusia.

Apakah mungkin ilmu pengetahuan sampai ke tingkat dimana kita dapat menyetel sistem jaringan di komputer atau di internet sehingga dia bisa dewasa sendiri secara otomatis?

Kesimpulannya project ini juga tidak ada target apa². Kita hanya ingin menyerap ilmu pengetahuan sejauh apa yang bisa kita dapat dari apa yang sudah dicapai.

Sekian.
29.10.1442H

SALAM Sukses!
© Chetabahana Project

Referensi

🔼 Intro ◀️ Prev 🔁 Base Next ▶️ Last 🔽
This wiki is courtesy of Chetabahana Project. Find all of them on Project Map.