Anda di halaman 1dari 10

Nama : Bahiyah Keiko Riyangde

NPM : 21218343

Kelas : 4EB01

LAPORAN AKHIR M3

Pada praktikum minggu 3 dengan mode self-study ini, materi yang diberikan pemapar
materi adalah membuat GAN dengan bahasa pemrograman Python 3 serta training GAN,
Outputting Image, dan Membuat GIF. Berikut adalah langkah-langkahnya.

1. Importing Python Packages for GAN


Langkah pertama adalah mendefinisikan terlebih dahulu library yang akan digunakan,
dan mengimpor dataset yang akan digunakan untuk membuat GAN. Ketikan coding
seperti pada gambar di bawah ini, lalu run. Perlu di perhatikan juga, untuk
memastikan bahwa data tersebut telah ada atau terinstall pada perangkat yang akan
digunakan untuk membuat GAN.
Dataset yang digunakan pada praktikum ini sama seperti minggu kemarin, yakni
dataset yang dimiliki oleh keras yang bernama MNIST. Selain MNIST, keras juga
memiliki banyak dataset lain yang dapat digunakan.
Gambar 1 (Langkah 1)

2. Variables for Neural Network & Data


Langkah kedua adalah mendefinisikan variabel yang akan digunakan untuk
membangun arsitektur GAN. Pada praktikum ini, variabel yang akan didefinisikan
adalah output ukuran gambar GAN, channel warna, variable noise/latent yang akan
membentuk gambar (image shape), serta optimizer.
 Ukuran gambar output GAN: 28 x 28 pixels
 Channel warna: Grayscale (kode 1)
 Input variabel image shape yang berisikan informasi image width, image
height, dan channel warna
 Menentukan variabel latent untuk menentukan berapa banyak noise / latent
yang nantinya akan membentuk gambar yang dibuat algoritma GAN. Variabel
latent yang digunakan pada praktikum ini adalah 100.
 Menentukan algoritma optimizer untuk optimisasi pembelajaran yang
dilakukan algoritma GAN. Algoritma yang digunakan pada praktikum ini
adalah stochastic gradient descent / adam optimizer dengan learning rate
sebesar 0.0001. Nilai ini adalah nilai yang direkomendasikan ketika ingin
membangun sebuah model GAN.

Gambar 2 (Langkah 2)
3. Building Generator
Langkah ketiga adalah membentuk atau membangun komponen generator. Generator
adalah bagian dari GAN yang bertugas untuk belajar membuat data palsu dengan
memasukkan umpan balik dari diskriminator dan belajar untuk membuat agar
diskriminator berhasil mengklasifikan outputnya sebagai yang sebeneranya atau
nyata.
Untuk membentuk komponen generator, kita harus menentukan sebuah fungsi berupa
build generator. Selanjutnya adalah mendefinisikan model yang ingin kita buat, yakni
menggunakan model neural network sequential. Hal ini dikarenakan 99% model
neural network berbentuk sequential. Langkah selanjutnya adalah menambahkan
model dence dan batch normal. Dan terakhir adalah menjalankan fungsi yang telah
dibangun. Ketikan coding seperti pada gambar 3.1 – 3.3 berikut di bawah ini, lalu run.

Gambar 3. 1 (Langkah 3)
Gambar 3.2 (Langkah 3)

Gambar 3.3 (Langkah 3)


4. Building Discriminator
Langkah keempat adalah mendefinisikan dan membangun diskriminator.
Diskriminator dalam GAN hanyalah sebuah fungsi klasifikasi yang mencoba untuk
membedakan data nyata dan dan data yang dibuat oleh generator. Diskriminator bisa
menggunakan arsitektur jaringan apapun yang sesuai dengan jenis data yang
diklasifikasikan.
Dalam langkah ini, kita masih mendefinisikan diskriminator dengan model sequential.
Selanjutnya adalah me-return model sesuai dengan output yang diinginkan dengan
menggunakan menu blast dan mendefinisikan sebuah model lagi dengan ukuran yang
diinginkan. Ketikkan coding sesuai gambar 4.1 – 4.2 di bawah ini.

#Note: Semakin banyak layer yang di definisikan, semakin baik pula model GAN
yang dibuat. Namun hal ini juga memperbesar kebutuhan komputasi yang dibutuhkan
untuk menjalankan kode program tersebut.

Gambar 4.1 (Langkah 4)


Gambar 4.2 (Langkah 4)

5. Connecting Neural Networks to Build GAN


Langkah kelima dalam praktikum kali ini adalah menghubungkan diskriminator dan
generator yang telah dibuat untuk membentuk sebuah GAN. Caranya adalah cukup
dengan mendefinisikan GAN sebagai nol network model sequential, kemudian
tambahkan discriminator yang telah dibuat, lalu lakukan kompilasi terhadap model
GAN tersebut dengan model loss function „binary crossentropy‟ dan optimizer
„adam‟.
Jangan lupa untuk mengset discriminator training menjadi „false‟ karena
diskriminator akan di train di luar algoritma GAN, dan tambhakan kompilasi terhadap
model GAN tersebut dengan model loss function „binary crossentropy‟ dan optimizer
„adam‟. Ketikkan codingan seperti gambar di bawah ini, lalu run.
Gambar 5 (Langkah 5)

6. Outputting Image
Pada tahap ini, kita akan mengimport image/gambar. Gambar ini akan digunakan
pada tahap selanjutnya untuk menjalankan fungsi GAN yang telah menghubungkan
generator dan diskriminator pada tahap 5.

Gambar 6.1 (Langkah 6)


Gambar 6.2 (Langkah 6)

7. Training GAN
Pada tahap ketujuh ini, algoritma GAN yang telah dibentuk pada tahap 5 diterapkan
pada image yang telah kita import di tahap 6 sebelumnya. Penerapan algoritma GAN
pada tahap ini akan mendefinisikan apakah Image yang kita import pada tahap 6
merupakan Real Image atau Fake Image. Training GAN pada praktikum ini dilakukan
sebanyak 30.000 batch dengan batch size 64 dan save internal 200. Ketikkan coding
seperti pada gambar 7.1 – 7.3 di bawah ini lalu run.
Gambar 7.1 (Langkah 7)

Gambar 7.2 (Langkah 7)


Gambar 7.3 (Langkah 7)

8. Making GIF
Tahap terakhir pada praktikum kali ini ada membuat GIF. GIF pada tahap ini
merupakan implementasi dari hasil training GAN pada tahap sebelumnya. GIF yang
ditampilkan adalah Real Image yang berhasil di definisikan oleh algoritma GAN pada
tahap sebelumnya. Animasi gif ini disimpan dengan nama “dcgan.gif”

Gambar 8 (Langkah 8)

Anda mungkin juga menyukai