TF: TensorFlow GPU

From OnnoWiki
Revision as of 11:51, 11 March 2025 by Onnowpurbo (talk | contribs) (Created page with "7. '''Menggunakan GPU Virtual untuk Pengujian:''' Jika Anda mengembangkan pada sistem dengan satu GPU fisik, TensorFlow memungkinkan Anda untuk mensimulasikan beberapa GPU me...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

7. Menggunakan GPU Virtual untuk Pengujian:

Jika Anda mengembangkan pada sistem dengan satu GPU fisik, TensorFlow memungkinkan Anda untuk mensimulasikan beberapa GPU menggunakan perangkat virtual. Ini berguna untuk menguji pengaturan multi-GPU tanpa memerlukan perangkat keras tambahan.

Langkah-langkah untuk Membuat GPU Virtual:

7.1. Memeriksa Ketersediaan GPU Fisik:

Pastikan TensorFlow mendeteksi GPU fisik pada sistem Anda.

  import tensorflow as tf
  gpus = tf.config.list_physical_devices('GPU')
  if gpus:
      print(f"Jumlah GPU fisik yang terdeteksi: {len(gpus)}")
  else:
      print("Tidak ada GPU fisik yang terdeteksi.")


7.2. Membuat Perangkat GPU Virtual:

Jika GPU fisik terdeteksi, Anda dapat membaginya menjadi beberapa perangkat logis (virtual). Misalnya, untuk membuat dua GPU virtual dengan masing-masing batas memori 1GB:

  if gpus:
      try:
          # Mengatur dua GPU virtual dengan masing-masing 1GB memori
          tf.config.set_logical_device_configuration(
              gpus[0],
              [tf.config.LogicalDeviceConfiguration(memory_limit=1024),
               tf.config.LogicalDeviceConfiguration(memory_limit=1024)])
          logical_gpus = tf.config.list_logical_devices('GPU')
          print(f"{len(gpus)} GPU fisik, {len(logical_gpus)} GPU logis (virtual) dibuat.")
      except RuntimeError as e:
          # Perangkat virtual harus disetel sebelum GPU diinisialisasi
          print(e)

Catatan: Pengaturan perangkat logis harus dilakukan sebelum runtime TensorFlow diinisialisasi. Jika runtime sudah diinisialisasi, perubahan ini tidak akan berlaku.

7.3. Memverifikasi Perangkat GPU Virtual:

Setelah konfigurasi, Anda dapat memverifikasi perangkat GPU virtual yang tersedia:


  logical_gpus = tf.config.list_logical_devices('GPU')
  for gpu in logical_gpus:
      print(f"GPU logis: {gpu.name}")


Penggunaan GPU Virtual dalam Pelatihan Model:

Setelah membuat GPU virtual, Anda dapat menggunakan strategi distribusi seperti `tf.distribute.MirroredStrategy` untuk melatih model Anda secara paralel pada GPU virtual tersebut.

import tensorflow as tf

# Mengaktifkan penempatan perangkat untuk melihat di mana operasi dijalankan
tf.debugging.set_log_device_placement(True)

# Mendapatkan daftar GPU logis

logical_gpus = tf.config.list_logical_devices('GPU')

# Membuat strategi distribusi dengan GPU logis
strategy = tf.distribute.MirroredStrategy(devices=[gpu.name for gpu in logical_gpus])

with strategy.scope():
    # Membangun model
    model = tf.keras.Sequential([
        tf.keras.layers.Dense(128, activation='relu', input_shape=(784,)),
        tf.keras.layers.Dense(10, activation='softmax')
    ])
    model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])

    # Melatih model
    # Gantilah 'train_dataset' dengan dataset pelatihan Anda
    model.fit(train_dataset, epochs=10)


Dalam contoh di atas, `tf.distribute.MirroredStrategy` akan mendistribusikan pelatihan model secara otomatis ke semua GPU logis yang tersedia, memungkinkan simulasi pengaturan multi-GPU pada satu GPU fisik.

Catatan Penting:

  • Penggunaan GPU virtual terutama untuk tujuan pengujian dan pengembangan. Untuk pelatihan model skala besar atau produksi, disarankan menggunakan beberapa GPU fisik untuk kinerja optimal.
  • Pastikan bahwa total batas memori yang ditetapkan untuk GPU virtual tidak melebihi kapasitas memori GPU fisik Anda.

Dengan mengikuti langkah-langkah di atas, Anda dapat mensimulasikan lingkungan multi-GPU pada sistem dengan satu GPU fisik, memfasilitasi pengujian dan pengembangan model TensorFlow dalam skenario multi-GPU.


Pranala Menarik