Views
No views yet
| Model | Download | Download (with sample test data) | ONNX version | Opset version |
|---|---|---|---|---|
| T5-encoder | 650.6 MB | 205.0 MB | 1.7 | 12 |
| T5-decoder-with-lm-head | 304.9 MB | 304.9 MB | 1.7 | 12 |
summarize: <PROMPT>,
translate English to French: <PROMPT>, cola sentence: <PROMPT>, etc.
For the full list of task you can refer to the appendix D of the original paper.pip install onnxt5).1from onnxt5 import GenerativeT5
2from onnxt5.api import get_encoder_decoder_tokenizer
3decoder_sess, encoder_sess, tokenizer = get_encoder_decoder_tokenizer()
4generative_t5 = GenerativeT5(encoder_sess, decoder_sess, tokenizer, onnx=True)
5prompt = 'translate English to French: I was a victim of a series of accidents.'
6output_text, output_logits = generative_t5(prompt, max_length=100, temperature=0.)
7# output_text: "J'ai été victime d'une série d'accidents."1from onnxt5.api import get_encoder_decoder_tokenizer, run_embeddings_text
2
3decoder_sess, encoder_sess, tokenizer = get_encoder_decoder_tokenizer()
4prompt = 'Listen, Billy Pilgrim has come unstuck in time.'
5encoder_embeddings, decoder_embeddings = run_embeddings_text(encoder_sess, decoder_sess, tokenizer, prompt)1from onnxruntime import InferenceSession
2from transformers import T5Tokenizer
3from .dependencies.models import GenerativeT5
4
5tokenizer = T5Tokenizer.from_pretrained('t5-base')
6
7# Start from ORT 1.10, ORT requires explicitly setting the providers parameter if you want to use execution providers
8# other than the default CPU provider (as opposed to the previous behavior of providers getting set/registered by default
9# based on the build flags) when instantiating InferenceSession.
10# For example, if NVIDIA GPU is available and ORT Python package is built with CUDA, then call API as following:
11# InferenceSession(path/to/model, providers=['CUDAExecutionProvider'])
12decoder_sess = InferenceSession(str(path_t5_decoder))
13encoder_sess = InferenceSession(str(path_t5_encoder))
14generative_t5 = GenerativeT5(encoder_sess, decoder_sess, tokenizer, onnx=True)
15generative_t5('translate English to French: I was a victim of a series of accidents.', 21, temperature=0.)[0]last_hidden_states = model(input_ids)[0]1# To generate the encoder's last hidden state
2encoder_output = encoder_sess.run(None, {"input_ids": input_ids})[0]
3# To generate the full model's embeddings
4decoder_output = decoder_sess.run(None, {
5"input_ids": input_ids,
6"encoder_hidden_states": encoder_output
7})[0]from onnxt5 import GenerativeT5
from onnxt5.api import get_encoder_decoder_tokenizer
decoder_sess, encoder_sess, tokenizer = get_encoder_decoder_tokenizer()
generative_t5 = GenerativeT5(encoder_sess, decoder_sess, tokenizer, onnx=True)
prompt = 'translate English to French: I was a victim of a series of accidents.'
output_text, output_logits = generative_t5(prompt, max_length=100, temperature=0.)@article{2019t5,
author = {Colin Raffel and Noam Shazeer and Adam Roberts and Katherine Lee and Sharan Narang and Michael Matena and Yanqi Zhou and Wei Li and Peter J. Liu},
title = {Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer},
journal = {arXiv e-prints},
year = {2019},
archivePrefix = {arXiv},
eprint = {1910.10683},
}