README ¶
Pengenalan AI
Terori Menjelaskan :
- Definisi Kecerdasan Buatan
- Training
- Kalkulus Predikat dan Preposisi
- Himpunan
- Persaman Garis Linear
- Pemodelan Persamaan
- Jaringan Saraf Tiruan
- Layer, Label, Supervised dan Unsupervised
- Machine Learning, Deep Learning
golang
Pengenalan Golang : https://youtu.be/R0EF4apbCag
- fork terlebih dahulu, clone ke pc
- buat folder NPM di dalam chapter01/Kelas/NPM
- ketik : go mod init github.com/bukped/ai/Chapter01/KELAS/NPM
- buat file main.go dan ketikkan perintah hello word
- go mod tidy
- go run .
gorgonia.org
Pengenalan Gorgonia : https://youtu.be/ckLI1xsyF0c
Pada bagian ini dikenalkan gorgonia.org. Gorgonia memerlukan 3 langkah pengerjaan:
- Membuat graph komputasi
- Data Input
- Eksekusi graph komputasi
Graph adalah fungsi yang mengelola semua variabel. Variabel di deep learning dikenal dengan Tensor. Jenis jenis tensor terlihat pada gambar berikut.
hello word : https://gorgonia.org/tutorials/hello-world/
Membuat kode program
Membuat persamaan : https://youtu.be/CS1UKDK45t0
Berikut adalah contoh pengerjaan pemrograman fungsi dengan menggunakan gorgonia.
Buat kode program fungsi : c = a + b
- Deklarasi package dan import library gorgonia
package main import ( "fmt" "log" . "gorgonia.org/gorgonia" )
- Deklarasikan fungsi main, dan inisiasi NewGraph() untuk deklarasi membuat graph komputasi
func main() { g := NewGraph() }
- Deklarasikan tensor yang akan terlibat, disini a dan b sebagai inputan dari graph komputasi.
a = NewScalar(g, Float64, WithName("a")) b = NewScalar(g, Float64, WithName("b"))
- Definisikan fungsi c=a+b dalam graph komputasi gorgonia.
c, err = Add(a,b)
- Buat VM object agar bisa menjalankan model fungsi g yang dideklarasikan pada langkah 2.
machine := NewTapeMachine(g)
- Untuk menjalankan model maka gunakan method RunAll() dari variabel VM yang dibuat. Jangan lupa isi inisiasi inputan a dan b.
Let(a, 1.0) Let(b, 2.0) machine.RunAll()
Buat kode program fungsi z = Wx dimana W adalah matriks n kali n. x adalah vektor ukuran n. dengan n = 2.1957
- Deklarasi package dan import library gorgonia
package main import ( "fmt" "log" G "gorgonia.org/gorgonia" "gorgonia.org/tensor" )
- Deklarasikan fungsi main, dan inisiasi NewGraph() untuk deklarasi membuat graph komputasi
func main() { g := NewGraph() }
- Deklarasikan tensor yang akan terlibat, disini matriks W dan x sebagai inputan dari graph komputasi.
//deklarasi W, dengan bobot inisiasi matB matB := []float64{0.9,0.7,0.4,0.2} matT := tensor.New(tensor.WithBacking(matB), tensor.WithShape(2, 2)) mat := G.NewMatrix(g, tensor.Float64, G.WithName("W"), G.WithShape(2, 2), G.WithValue(matT), ) // deklarasi x dengan inisiasi bobot vecB vecB := []float64{5,7} vecT := tensor.New(tensor.WithBacking(vecB), tensor.WithShape(2)) vec := G.NewVector(g, tensor.Float64, G.WithName("x"), G.WithShape(2), G.WithValue(vecT), )
- Definisikan fungsi z=Wx dalam graph komputasi gorgonia. Karena perkalian maka menggunakan rumus multification.
z, err := G.Mul(mat, vec)
- Buat VM object agar bisa menjalankan model fungsi g yang dideklarasikan pada langkah 2.
machine := G.NewTapeMachine(g)
- Untuk menjalankan model maka gunakan method RunAll() dari variabel VM yang dibuat. Jangan lupa isi inisiasi inputan a dan b.
machine.RunAll() //melihat hasil output fmt.Println(z.Value().Data())
Untuk melakukan visualisasi graph komputasi, kita bisa menggunakan ioutil.
ioutil.WriteFile("simple_graph.dot", []byte(g.ToDot()), 0644)
Konversi ke file SVG bisa dilakukan dengan menggunakan dot
dot -Tsvg simple_graph.dot -O
Buat kode program fungsi z = Wx + b
- Deklarasi package dan import library gorgonia
package main import ( "fmt" "log" G "gorgonia.org/gorgonia" "gorgonia.org/tensor" )
- Deklarasikan fungsi main, dan inisiasi NewGraph() untuk deklarasi membuat graph komputasi
func main() { g := NewGraph() }
- Deklarasikan tensor yang akan terlibat, disini matriks W dan x sebagai inputan dari graph komputasi.
//deklarasi W, dengan bobot inisiasi matB matB := []float64{0.9,0.7,0.4,0.2} matT := tensor.New(tensor.WithBacking(matB), tensor.WithShape(2, 2)) mat := G.NewMatrix(g, tensor.Float64, G.WithName("W"), G.WithShape(2, 2), G.WithValue(matT), ) // deklarasi x dengan inisiasi bobot vecB vecB := []float64{5,7} vecT := tensor.New(tensor.WithBacking(vecB), tensor.WithShape(2)) vec := G.NewVector(g, tensor.Float64, G.WithName("x"), G.WithShape(2), G.WithValue(vecT), ) //tambah deklarasi b b := G.NewScalar(g, tensor.Float64, G.WithName("b"), G.WithValue(3.0) )
- Definisikan fungsi z=Wx dalam graph komputasi gorgonia. Karena perkalian maka menggunakan rumus multification.
a, err := G.Mul(mat, vec) z, err := G.Add(a, b)
- Buat VM object agar bisa menjalankan model fungsi g yang dideklarasikan pada langkah 2.
machine := G.NewTapeMachine(g)
- Untuk menjalankan model maka gunakan method RunAll() dari variabel VM yang dibuat. Jangan lupa isi inisiasi inputan a dan b.
machine.RunAll() //melihat hasil output fmt.Println(z.Value().Data())
Kerjakan
- Buat kode program persamaan garis(selain persamaan linear, misal persamaan parabola, elips,sinus dll), yang berbeda satu sama lain dalam satu kelas. dengan gorgonia simpan di folder Chapter01/KELAS/NPM (nilai 60)
- Pull request dengan menggunakan judul : 1-KELAS-NPM-NAMA
- Pada deskripsi lampirkan skrinsut running program
- Lampirkan juga sertifikat dari :
Click to show internal directories.
Click to hide internal directories.