Ezra Dwi Nouval Firmansyah
Program implementasi algortima Deep Learning pada GPU melibatkan penggunaan kartu grafis (GPU) untuk mempercepat pelatihan model deep learning. GPU terdiri dari banyak core pemrosesan yang bekerja secara paralel, sehingga dapat memproses data dalam jumlah besar secara lebih efisien dibandingkan GPU
Disini saya menggunakan dataset MNIST untuk melatih model deep learning mengenali angka dari gambar. Saya membangun sebuah model deep learning dengan 1 layer input, 1 layer tersembunyi, 1 layer dropout, dan 1 layer output. Model ini kemudian di compile dengan optimizer Adam dan loss function categorical cross-entropy. Setelah itu, model di training pada dataset testing dan mencetak akurasi hasil evaluasi.
· Contoh program yang saya buat sebagai berikut:
# Import library yang dibutuhkan
import tensorflow as tf
from tensorflow import keras
from tensorflow.keras import layers
# Cek apakah GPU tersedia
physical_devices = tf.config.list_physical_devices('GPU')
print("Jumlah GPU yang tersedia:", len(physical_devices))
tf.config.experimental.set_memory_growth(physical_devices[0], True)
# Unduh dataset MNIST
(x_train, y_train), (x_test, y_test) = keras.datasets.mnist.load_data()
# Normalisasi nilai piksel menjadi 0-1
x_train = x_train.astype("float32") / 255
x_test = x_test.astype("float32") / 255
# Konversi label menjadi one-hot encoding
y_train = keras.utils.to_categorical(y_train, 10)
y_test = keras.utils.to_categorical(y_test, 10)
# Bangun model deep learning
model = keras.Sequential([
layers.Flatten(input_shape=(28, 28)),
layers.Dense(512, activation='relu'),
layers.Dropout(0.5),
layers.Dense(10, activation='softmax')
])
# Compile model dengan optimizer Adam dan loss function categorical cross-entropy
model.compile(optimizer='adam',
loss='categorical_crossentropy',
metrics=['accuracy'])
# Training model dengan batch size 128 dan epoch 10
history = model.fit(x_train, y_train, batch_size=128, epochs=10,
validation_data=(x_test, y_test))
# Evaluasi model pada dataset testing
test_loss, test_acc = model.evaluate(x_test, y_test, verbose=2)
print('\nTest accuracy:', test_acc)