| import argparse | |
| from src.data_loader import load_data | |
| from src.model import load_model | |
| from src.trainer import train_model | |
| from src.evaluate import evaluate_model | |
| from src.inference import infer_resume | |
| from transformers import AutoTokenizer | |
| def run(): | |
| parser = argparse.ArgumentParser(description="ATS Resume Optimizer") | |
| parser.add_argument("mode", choices=["train", "evaluate", "infer"], help="Mode to run the script") | |
| parser.add_argument("--resume", type=str, help="Path to resume for inference") | |
| args = parser.parse_args() | |
| tokenizer = AutoTokenizer.from_pretrained("distilbert-base-uncased") | |
| datasets = load_data(tokenizer) | |
| model = load_model() | |
| if args.mode == "train": | |
| train_model(model, datasets) | |
| elif args.mode == "evaluate": | |
| evaluate_model(model, datasets) | |
| elif args.mode == "infer": | |
| if not args.resume: | |
| raise ValueError("Resume path must be provided in infer mode.") | |
| infer_resume(model, tokenizer, args.resume) | |
| if __name__ == "__main__": | |
| run() |