Pelaksanaan Fungsi Kehilangan Tersuai di Keras
Di Keras, fungsi kehilangan tersuai boleh dilaksanakan untuk menangani keperluan latihan khusus. Satu fungsi sedemikian ialah pekali ralat dadu, yang mengukur pertindihan antara kebenaran tanah dan label yang diramalkan.
Untuk mencipta fungsi kehilangan tersuai dalam Keras, ikut langkah berikut:
1. Laksanakan Fungsi Pekali
Pekali ralat dadu boleh ditulis sebagai:
dice coefficient = (2 * intersection) / (sum(ground_truth) + sum(predictions))
Menggunakan fungsi backend Keras, anda boleh melaksanakan fungsi pekali:
<code class="python">import keras.backend as K def dice_coef(y_true, y_pred, smooth, thresh): y_pred = y_pred > thresh y_true_f = K.flatten(y_true) y_pred_f = K.flatten(y_pred) intersection = K.sum(y_true_f * y_pred_f) return (2. * intersection + smooth) / (K.sum(y_true_f) + K.sum(y_pred_f) + smooth)</code>
2. Balut Fungsi sebagai Fungsi Kehilangan
Fungsi kehilangan Keras hanya menerima (y_true, y_pred) sebagai input. Oleh itu, balut fungsi pekali dalam fungsi yang mengembalikan kehilangan:
<code class="python">def dice_loss(smooth, thresh): def dice(y_true, y_pred): return -dice_coef(y_true, y_pred, smooth, thresh) return dice</code>
3. Susun Model
Akhir sekali, susun model menggunakan fungsi kehilangan tersuai:
<code class="python"># build model model = my_model() # get the loss function model_dice = dice_loss(smooth=1e-5, thresh=0.5) # compile model model.compile(loss=model_dice)</code>
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Fungsi Kerugian Anda Sendiri di Keras?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!