Spaces:
Running
on
Zero
Running
on
Zero
| # Copyright (c) Meta Platforms, Inc. and affiliates. All Rights Reserved\n | |
| from sam_audio.model.config import ( | |
| ClapRankerConfig, | |
| EnsembleRankerConfig, | |
| ImageBindRankerConfig, | |
| JudgeRankerConfig, | |
| ) | |
| from sam_audio.ranking.clap import ClapRanker | |
| from sam_audio.ranking.imagebind import ImageBindRanker | |
| from sam_audio.ranking.judge import JudgeRanker | |
| from sam_audio.ranking.ranker import EnsembleRanker | |
| def create_ranker(config): | |
| if isinstance(config, ImageBindRankerConfig): | |
| return ImageBindRanker(config) | |
| elif isinstance(config, ClapRankerConfig): | |
| return ClapRanker(config) | |
| elif isinstance(config, JudgeRankerConfig): | |
| return JudgeRanker(config) | |
| elif isinstance(config, EnsembleRankerConfig): | |
| ranker_cfgs, weights = zip(*config.rankers.values(), strict=False) | |
| return EnsembleRanker( | |
| rankers=[create_ranker(cfg) for cfg in ranker_cfgs], | |
| weights=weights, | |
| ) | |
| else: | |
| assert config is None | |
| return None | |