inference.py 882 B

12345678910111213141516171819202122232425262728293031
  1. import hydra
  2. import logging
  3. from omegaconf import DictConfig, OmegaConf, ListConfig
  4. from funasr.auto.auto_model import AutoModel
  5. @hydra.main(config_name=None, version_base=None)
  6. def main_hydra(cfg: DictConfig):
  7. def to_plain_list(cfg_item):
  8. if isinstance(cfg_item, ListConfig):
  9. return OmegaConf.to_container(cfg_item, resolve=True)
  10. elif isinstance(cfg_item, DictConfig):
  11. return {k: to_plain_list(v) for k, v in cfg_item.items()}
  12. else:
  13. return cfg_item
  14. kwargs = to_plain_list(cfg)
  15. log_level = getattr(logging, kwargs.get("log_level", "INFO").upper())
  16. logging.basicConfig(level=log_level)
  17. if kwargs.get("debug", False):
  18. import pdb; pdb.set_trace()
  19. model = AutoModel(**kwargs)
  20. res = model.generate(input=kwargs["input"])
  21. print(res)
  22. if __name__ == '__main__':
  23. main_hydra()