Halaman ini diterjemahkan oleh Cloud Translation API.
Switch to English

tf.keras.losses.Loss

TensorFlow 1 versi Lihat sumber di GitHub

kelas dasar kerugian.

Harus dilaksanakan oleh subclass:

  • call() : Berisi logika untuk perhitungan kerugian menggunakan y_true , y_pred .

Contoh subclass implementasi:

 class MeanSquaredError(Loss):

  def call(self, y_true, y_pred):
    y_pred = tf.convert_to_tensor_v2(y_pred)
    y_true = tf.cast(y_true, y_pred.dtype)
    return tf.reduce_mean(math_ops.square(y_pred - y_true), axis=-1)
 

Ketika digunakan dengan tf.distribute.Strategy , di luar built-in pelatihan loop seperti tf.keras compile dan fit jenis, silakan gunakan 'SUM' atau 'NONE' pengurangan, dan mengurangi kerugian secara eksplisit dalam lingkaran pelatihan Anda. Menggunakan 'AUTO' atau 'SUM_OVER_BATCH_SIZE' akan meningkatkan kesalahan.

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

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_obj(labels, predictions)) *
          (1. / global_batch_size))
 

reduction (Opsional) Jenis tf.keras.losses.Reduction untuk menerapkan kehilangan. Nilai default adalah AUTO . 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 , menggunakan AUTO atau SUM_OVER_BATCH_SIZE akan meningkatkan kesalahan. Silakan lihat ini pelatihan kustom tutorial untuk lebih jelasnya.
name nama opsional untuk op.

metode

call

Lihat sumber

Memanggil Loss misalnya.

args
y_true nilai kebenaran tanah. Bentuk = [batch_size, d0, .. dN] , kecuali fungsi kerugian jarang seperti crossentropy kategoris jarang di mana bentuk = [batch_size, d0, .. dN-1]
y_pred nilai-nilai yang diprediksi. Bentuk = [batch_size, d0, .. dN]

Pengembalian
Nilai kerugian dengan bentuk [batch_size, d0, .. dN-1] .

from_config

Lihat sumber

Instantiates Loss dari config nya (output get_config() ).

args
config Output get_config() .

Pengembalian
Sebuah Loss misalnya.

get_config

Lihat sumber

Mengembalikan konfigurasi kamus untuk Loss misalnya.

__call__

Lihat sumber

Memanggil Loss misalnya.

args
y_true nilai kebenaran tanah. Bentuk = [batch_size, d0, .. dN] , kecuali fungsi kerugian jarang seperti crossentropy kategoris jarang di mana bentuk = [batch_size, d0, .. dN-1]
y_pred nilai-nilai yang diprediksi. Bentuk = [batch_size, d0, .. dN]
sample_weight Opsional sample_weight bertindak sebagai koefisien kerugian. Jika skalar disediakan, maka kerugian tersebut hanya skala oleh nilai yang diberikan. Jika sample_weight adalah tensor ukuran [batch_size] , maka total kerugian untuk setiap sampel dari bets rescaled oleh sesuai elemen dalam sample_weight vektor. Jika bentuk sample_weight adalah [batch_size, d0, .. dN-1] (atau dapat disiarkan ke bentuk ini), maka setiap elemen hilangnya y_pred adalah skala dengan nilai yang sesuai dari sample_weight . (Catatan tentang dN-1 : semua fungsi kerugian mengurangi oleh 1 dimensi, biasanya sumbu = -1.)

Pengembalian
Tertimbang kerugian mengambang Tensor . Jika reduction adalah NONE , ini memiliki bentuk [batch_size, d0, .. dN-1] ; jika tidak, itu adalah skalar. (Catatan dN-1 karena semua fungsi kerugian mengurangi oleh 1 dimensi, biasanya sumbu = -1.)

kenaikan gaji
ValueError Jika bentuk sample_weight tidak valid.