Spaces:
Running
on
Zero
Running
on
Zero
""" | |
Copied from RT-DETR (https://github.com/lyuwenyu/RT-DETR) | |
Copyright(c) 2023 lyuwenyu. All Rights Reserved. | |
""" | |
import torch | |
from ...core import register | |
__all__ = [ | |
"YOLO", | |
] | |
class YOLO(torch.nn.Module): | |
__inject__ = [ | |
"backbone", | |
"neck", | |
"head", | |
] | |
def __init__(self, backbone: torch.nn.Module, neck, head): | |
super().__init__() | |
self.backbone = backbone | |
self.neck = neck | |
self.head = head | |
def forward(self, x, **kwargs): | |
x = self.backbone(x) | |
x = self.neck(x) | |
x = self.head(x) | |
return x | |
def deploy( | |
self, | |
): | |
self.eval() | |
for m in self.modules(): | |
if m is not self and hasattr(m, "deploy"): | |
m.deploy() | |
return self | |