더북(TheBook)

손실 함수 정의

다음 코드는 앞에서 학습 과정 파트에서 나온 손실 함수 수식을 구현한 것입니다.

def yolo_multitask_loss(y_true, y_pred): 

    batch_loss = 0

    for true_vals, pred_vals in zip(y_true, y_pred):
        true_vals = tf.reshape(true_vals, [49, 25])  # ①
        pred_vals = tf.reshape(pred_vals, [49, 30])  # ①
        cell_losses = []
        for true_cell, pred_cell in zip(true_vals, pred_vals):
            bbox1_pred, bbox1_pred_confidence, bbox2_pred, bbox2_pred_confidence, class_pred = \
                pred_cell[:4], pred_cell[4], pred_cell[5:9], pred_cell[9], pred_cell[10:]
            bbox_true, bbox_true_confidence, class_true = \
                true_cell[:4], true_cell[4], true_cell[5:] # ②

            def calculate_iou(bbox_pred, bbox_true): # ③

                pred_area = bbox_pred[2] * bbox_pred[3]
                true_area = bbox_true[2] * bbox_true[3]
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.