Anda di halaman 1dari 6

Nama : Kamila Khairunisa

NPM : 23319226

Kelas : 4TB04

1. Tahap pertama yang dilakukan untuk Number GAN adalah mengimport atau
memasukkan library yang sudah tersedia pada dataset keras, mulai dari data model
dan layers nya. Masukkan juga fungsi numpy yang di deklarasi kan sebagai np
dan buat directory untuk meng-generate gambar

2. Berikutnya membuat susatu variable untuk neural network dan data, dengan cara
memberi nilai pada lebar dan tinggi suatu variable gambar. Pada data ini lebar dan
tinggi yang dimasukkan yaitu 28 kemudian channels nya 1, berikut variable
tersebut di inisialisasi kan kedalam satu variable lagi dengan nama img_shape lalu
memberi angka pada node sebagai inputan untuk generator.

3. Tahap ketiga yaitu pembuatan generator dengan model sequential dan


memasukkan beberapa model tambahan seperti Dense, LeakyReLU, latent_dim,
BatchNormalization, dan reshape. Diakhiri dengan model.summary sebagai
laporan kuatnya hubungan antara model dengan variable yang bergantung dan
kembali ke model baru generator akan dibuat.
4. Membangun diskriminator dengan definisi build_discriminator pada model
sequential kemudian menambahkan beberapa model dan memasukkan bentuk atau
shape dengan inputan sebelumnya dari img_shape.
5. Menghubungkan neural network untuk membangun suatu GAN, pada tahapan ini
GAN dengan penggunaan model sequential, lalu nilai test pada dikriminator
bernilai false agar dapat mengetahui nilai false apabila dijalankan. Menambahkan
generator dan dikrimnator pada fungsi GAN, mengcompile GAN dengan adam
sebagai optimizer. Kemudian memebri hasil akhir dari nilai tersebut.
6. Menghasilkan Gambar

7. Mengetest GAN def train(epochs, batch_size=64, save_interval=200):


(X_train, _), (_, _) = mnist.load_data()

# print(X_train.shape)
#Rescale data between -1 and 1
X_train = X_train / 127.5 -1.
# X_train = np.expand_dims(X_train, axis=3)
# print(X_train.shape)

#Create our Y for our Neural Networks valid


= np.ones((batch_size, 1)) fakes =
np.zeros((batch_size, 1))
for epoch in range(epochs): #Get Random Batch idx =
np.random.randint(0, X_train.shape[0], batch_size) imgs =
X_train[idx]

#Generate Fake Images


noise = np.random.normal(0, 1, (batch_size, latent_dim)) gen_imgs =
generator.predict(noise)

#Train discriminator
d_loss_real = discriminator.train_on_batch(imgs, valid) d_loss_fake =
discriminator.train_on_batch(gen_imgs, fakes) d_loss = 0.5 * np.add(d_loss_real,
d_loss_fake)

noise = np.random.normal(0, 1, (batch_size, latent_dim))

#inverse y label g_loss =


GAN.train_on_batch(noise, valid)
print("******* %d [D loss: %f, acc: %.2f%%] [G loss: %f]" % (epoch, d_loss[0],
100* d_loss[1], g_loss))
if(epoch % save_interval) == 0:
save_imgs(epoch)

# print(valid)
train(30000, batch_size=64, save_interval=200)
8. Membuat GIF

Anda mungkin juga menyukai