Spaces:
Sleeping
Sleeping
Download src/inference.py from sidharthg/ShakespeareGPT: direct link, hf CLI and curl.
- Browser
- Download file 838 Bytes
-
https://huggingface.co/spaces/sidharthg/ShakespeareGPT/resolve/main/src/inference.py
- Command line
-
hf download hf://spaces/sidharthg/ShakespeareGPT/src/inference.py
-
curl -L -o inference.py https://huggingface.co/spaces/sidharthg/ShakespeareGPT/resolve/main/src/inference.py
838 Bytes
| from transformers import GPT2LMHeadModel, GPT2Tokenizer | |
| import torch | |
| class GPT2Inference: | |
| def __init__(self, model_path): | |
| self.tokenizer = GPT2Tokenizer.from_pretrained("gpt2") | |
| self.model = GPT2LMHeadModel.from_pretrained(model_path) | |
| self.model.eval() | |
| def generate_text(self, prompt, max_length=30, num_return_sequences=1): | |
| input_ids = self.tokenizer.encode(prompt, return_tensors='pt') | |
| with torch.no_grad(): | |
| outputs = self.model.generate(input_ids, max_length=max_length, num_return_sequences=num_return_sequences) | |
| return [self.tokenizer.decode(output, skip_special_tokens=True) for output in outputs] | |
| def load_model(): | |
| model_path = 'models/best_model.pt' | |
| inference_model = GPT2Inference(model_path) | |
| return inference_model | |
| inference_model = load_model() |