File size: 1,199 Bytes
6f63ca6 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | #!/usr/bin/env python3
"""Run deterministic inference with the published t5-smaller checkpoint."""
from __future__ import annotations
import argparse
import torch
from transformers import AutoModelForSeq2SeqLM, AutoTokenizer
def main() -> None:
parser = argparse.ArgumentParser(description=__doc__)
parser.add_argument("prompt", nargs="?", default="translate English to German: How old are you?")
parser.add_argument("--model", default="ShinpacheShimura/t5-smaller")
parser.add_argument("--subfolder", default="optimized-flan-t5-small")
parser.add_argument("--max-new-tokens", type=int, default=64)
args = parser.parse_args()
common = {"subfolder": args.subfolder} if args.subfolder else {}
tokenizer = AutoTokenizer.from_pretrained(args.model, **common)
model = AutoModelForSeq2SeqLM.from_pretrained(args.model, device_map="auto", **common)
inputs = tokenizer(args.prompt, return_tensors="pt").to(model.device)
with torch.inference_mode():
output_ids = model.generate(**inputs, max_new_tokens=args.max_new_tokens, do_sample=False)
print(tokenizer.decode(output_ids[0], skip_special_tokens=True))
if __name__ == "__main__":
main()
|