وظيفة الخسارة المخصصة في Keras: تنفيذ معامل خطأ النرد
في هذه المقالة، سنستكشف كيفية إنشاء وظيفة خسارة مخصصة في ولاية كيراس، مع التركيز على معامل خطأ النرد. سوف نتعلم كيفية تنفيذ معامل ذو معلمات وتغليفه للتوافق مع متطلبات Keras.
تنفيذ المعامل
سوف تتطلب وظيفة الخسارة المخصصة لدينا معاملًا و وظيفة المجمع. يقيس المعامل خطأ النرد، الذي يقارن الهدف والقيم المتوقعة. يمكننا استخدام تعبير بايثون أدناه:
def dice_hard_coe(y_true, y_pred, threshold=0.5, axis=[1,2], smooth=1e-5):
# Calculate intersection, labels, and compute hard dice coefficient
output = tf.cast(output > threshold, dtype=tf.float32)
target = tf.cast(target > threshold, dtype=tf.float32)
inse = tf.reduce_sum(tf.multiply(output, target), axis=axis)
l = tf.reduce_sum(output, axis=axis)
r = tf.reduce_sum(target, axis=axis)
hard_dice = (2. * inse smooth) / (l r smooth)
# Return the mean hard dice coefficient
return hard_dice
إنشاء وظيفة الغلاف
يتطلب Keras أن تأخذ وظائف الخسارة (y_true, y_pred) فقط كمعلمات. لذلك، نحتاج إلى دالة مجمعة تُرجع دالة أخرى تتوافق مع هذا المطلب. ستكون وظيفة الغلاف الخاصة بنا هي:
def dice_loss(smooth, thresh):
def dice(y_true, y_pred):
# Calculate the dice coefficient using the coefficient function
return -dice_coef(y_true, y_pred, smooth, thresh)
# Return the dice loss function
return dice
باستخدام وظيفة الخسارة المخصصة
الآن، يمكننا استخدام وظيفة خسارة النرد المخصصة لدينا في Keras من خلال تجميع النموذج معها:
# Build the model
model = my_model()
# Get the Dice loss function
model_dice = dice_loss(smooth=1e-5, thresh=0.5)
# Compile the model
model.compile(loss=model_dice)
من خلال تطبيق معامل خطأ النرد المخصص بهذه الطريقة، يمكننا تقييم أداء النموذج بشكل فعال لتجزئة الصور والمهام الأخرى حيث يكون خطأ النرد مقياسًا ذا صلة. تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3