remove_old_models.py 1.2 KB

12345678910111213141516171819202122232425
  1. import argparse
  2. import os
  3. from datetime import datetime
  4. from huggingface_hub import delete_repo, list_models
  5. if __name__ == "__main__":
  6. parser = argparse.ArgumentParser(description="Remove old testing models from HF hub")
  7. parser.add_argument("--author", type=str, default='bloom-testing', help="auth token for from_pretrained")
  8. parser.add_argument("--seconds_since_last_updated", type=int, default=7 * 24 * 60 * 60)
  9. parser.add_argument("--use_auth_token", type=str, default=None, help="auth token for from_pretrained")
  10. parser.add_argument('--dry_run', action='store_true')
  11. args = parser.parse_args()
  12. for model in list_models(author=args.author, full=True):
  13. last_modified = datetime.strptime(model.lastModified, "%Y-%m-%dT%H:%M:%S.%fZ")
  14. if model.Id.endswith("-main") or "/test-" not in model.Id:
  15. continue # remove only test models
  16. if (datetime.now() - last_modified).total_seconds() > args.seconds_since_last_updated:
  17. if args.dry_run:
  18. print(f"{model.Id} can be deleted")
  19. else:
  20. delete_repo(token=args.use_auth_token, name=model.Id, organization=args.author)