mirror of
https://github.com/aigc3d/LAM_Audio2Expression.git
synced 2026-02-04 17:39:24 +08:00
29 lines
667 B
Python
29 lines
667 B
Python
"""
|
|
The code is base on https://github.com/Pointcept/Pointcept
|
|
"""
|
|
|
|
from utils.registry import Registry
|
|
|
|
LOSSES = Registry("losses")
|
|
|
|
|
|
class Criteria(object):
|
|
def __init__(self, cfg=None):
|
|
self.cfg = cfg if cfg is not None else []
|
|
self.criteria = []
|
|
for loss_cfg in self.cfg:
|
|
self.criteria.append(LOSSES.build(cfg=loss_cfg))
|
|
|
|
def __call__(self, pred, target):
|
|
if len(self.criteria) == 0:
|
|
# loss computation occur in model
|
|
return pred
|
|
loss = 0
|
|
for c in self.criteria:
|
|
loss += c(pred, target)
|
|
return loss
|
|
|
|
|
|
def build_criteria(cfg):
|
|
return Criteria(cfg)
|