Verluste für RPN und R-CNN festlegen
Du planst, ein Objektdetektionsmodell zu trainieren, das sowohl die RPN- als auch die R-CNN-Komponenten nutzt. Um es trainieren zu können, musst du die Verlustfunktion für jede Komponente festlegen.
Du weißt ja noch, dass die RPN-Komponente checkt, ob ein Bereich ein Objekt enthält, und die Koordinaten der Begrenzungsrahmen für die vorgeschlagenen Bereiche vorhersagt. Die R-CNN-Komponente ordnet das Objekt einer von mehreren Klassen zu und sagt gleichzeitig die endgültigen Koordinaten des Begrenzungsrahmens voraus.
torch``torch.nn
und nn
wurden importiert.
Diese Übung ist Teil des Kurses
Deep Learning für Bilder mit PyTorch
Anleitung zur Übung
- Definiere die RPN-Klassifizierungsverlustfunktion und weise sie „
rpn_cls_criterion
“ zu. - Definiere die RPN-Regressionsverlustfunktion und speicher sie in „
rpn_reg_criterion
“. - Definiere die R-CNN-Klassifizierungsverlustfunktion und verknüpfe sie mit „
rcnn_cls_criterion
“. - Definiere die R-CNN-Regressionsverlustfunktion mit und speicher sie in „
rcnn_reg_criterion
“.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# Implement the RPN classification loss function
rpn_cls_criterion = ____
# Implement the RPN regression loss function
rpn_reg_criterion = ____
# Implement the R-CNN classification Loss function
rcnn_cls_criterion = ____
# Implement the R-CNN regression loss function
rcnn_reg_criterion = ____