Spaces:
Runtime error
Runtime error
| """ | |
| Criteria Builder | |
| Author: Xiaoyang Wu (xiaoyang.wu.cs@gmail.com) | |
| Please cite our work if the code is helpful to you. | |
| """ | |
| from pointcept.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) | |