Halaman ini diterjemahkan oleh Cloud Translation API.
Switch to English

tf.keras.losses.Reduction

Lihat sumber di GitHub

Jenis pengurangan kerugian.

Berisi nilai berikut:

  • AUTO : Menunjukkan bahwa opsi pengurangan akan ditentukan oleh konteks penggunaan. Untuk hampir semua kasus default ini untuk SUM_OVER_BATCH_SIZE . Ketika digunakan dengan tf.distribute.Strategy , di luar built-in pelatihan loop seperti tf.keras compile dan fit , kami berharap nilai pengurangan untuk menjadi SUM atau NONE . Menggunakan AUTO dalam kasus itu akan meningkatkan kesalahan.
  • NONE : Tertimbang kerugian dengan satu dimensi berkurang (sumbu = -1, atau AXIS yang ditentukan oleh fungsi kerugian). Ketika jenis pengurangan ini digunakan dengan built-in loop pelatihan Keras seperti fit / evaluate , hilangnya vektor tereduksi dilewatkan ke optimizer tetapi kerugian yang dilaporkan akan menjadi nilai skalar.
  • SUM : sum skalar kerugian tertimbang.
  • SUM_OVER_BATCH_SIZE : skalar SUM dibagi dengan jumlah elemen dalam kerugian. Jenis pengurangan ini tidak didukung bila digunakan dengan tf.distribute.Strategy luar built-in loop pelatihan seperti tf.keras compile / fit .

    Anda dapat menerapkan 'SUM_OVER_BATCH_SIZE' menggunakan ukuran batch yang global seperti:

 with strategy.scope():
  loss_obj = tf.keras.losses.CategoricalCrossentropy(
      reduction=tf.keras.losses.Reduction.NONE)
  ....
  loss = tf.reduce_sum(loss_object(labels, predictions)) *
      (1. / global_batch_size)
 

Silakan lihat panduan pelatihan kustom
untuk rincian lebih lanjut tentang ini.

metode

all

Lihat sumber

validate

Lihat sumber

Variabel kelas

  • AUTO = 'auto'
  • NONE = 'none'
  • SUM = 'sum'
  • SUM_OVER_BATCH_SIZE = 'sum_over_batch_size'