Mengontrol cara sumber daya TensorFlow dibersihkan saat tidak diperlukan lagi.
Semua sumber daya yang dialokasikan selama EagerSession
dihapus ketika sesi ditutup. Untuk mencegah kesalahan kehabisan memori, sangat disarankan untuk membersihkan sumber daya tersebut selama sesi. Misalnya, menjalankan n operasi dalam satu perulangan sebanyak m iterasi akan mengalokasikan minimal n*m sumber daya, sementara pada sebagian besar kasus, hanya sumber daya dari iterasi terakhir yang masih digunakan.
Instance EagerSession
dapat diberi tahu dengan berbagai cara saat objek TensorFlow tidak lagi dirujuk, sehingga instance tersebut dapat melanjutkan pembersihan resource apa pun yang dimilikinya.
Metode Warisan
int terakhir | bandingkanKe (E arg0) |
ke dalam | bandingkanTo (Objek arg0) |
boolean terakhir | sama dengan (Objek arg0) |
Kelas akhir<E> | dapatkanDeklarasiKelas () |
int terakhir | Kode hash () |
String terakhir | nama () |
int terakhir | ordinal () |
Rangkaian | keString () |
statis <T memperluas Enum<T>> T | valueOf (Kelas<T> arg0, String arg1) |
boolean | sama dengan (Objek arg0) |
Kelas terakhir<?> | dapatkan Kelas () |
ke dalam | Kode hash () |
kekosongan terakhir | memberitahu () |
kekosongan terakhir | beri tahuSemua () |
Rangkaian | keString () |
kekosongan terakhir | tunggu (arg0 panjang, int arg1) |
kekosongan terakhir | tunggu (argumen panjang0) |
kekosongan terakhir | Tunggu () |
abstrak ke dalam | bandingkanTo (E memperluas Enum<E> arg0) |
Nilai Enum
EagerSession.ResourceCleanupStrategy IN_BACKGROUND final statis publik
Pantau dan hapus sumber daya yang tidak terpakai dari thread baru yang berjalan di latar belakang.
Ini adalah pendekatan paling andal untuk membersihkan sumber daya TensorFlow, dengan mengorbankan memulai dan menjalankan thread tambahan yang didedikasikan untuk tugas ini. Setiap instance EagerSession
memiliki threadnya sendiri, yang dihentikan hanya ketika sesi ditutup.
Strategi ini digunakan secara default.
EagerSession.ResourceCleanupStrategy ON_SAFE_POINTS akhir statis publik
Pantau dan hapus sumber daya yang tidak terpakai dari thread yang ada, sebelum atau setelah menyelesaikan tugas lain.
Sumber daya yang tidak terpakai akan dilepaskan ketika panggilan ke perpustakaan TensorFlow mencapai titik aman untuk pembersihan. Hal ini dilakukan secara sinkron dan mungkin memblokir thread yang memicu panggilan tersebut untuk jangka waktu singkat.
Strategi ini sebaiknya digunakan hanya jika, karena alasan tertentu, tidak ada thread tambahan yang dialokasikan untuk pembersihan. Jika tidak, IN_BACKGROUND
sebaiknya diutamakan.
EagerSession.ResourceCleanupStrategy akhir statis publik ON_SESSION_CLOSE
Hapus sumber daya hanya saat sesi ditutup.
Semua sumber daya yang dialokasikan selama sesi akan tetap tersimpan di memori hingga sesi ditutup secara eksplisit (atau melalui teknik `coba-dengan-sumber daya` tradisional). Tidak ada tugas tambahan untuk pembersihan sumber daya yang akan dilakukan.
Strategi ini dapat menyebabkan kesalahan kehabisan memori dan penggunaannya tidak disarankan, kecuali cakupan sesi dibatasi untuk menjalankan sejumlah kecil operasi saja.