MCPcopy Create free account
hub / github.com/NVIDIA/FasterTransformer / sample_model

Function sample_model

examples/tensorflow/gpt/gpt_example.py:58–174  ·  view source on GitHub ↗

Run the sample_model. :model_name=124M : String, which model to use :nsamples=0 : Number of samples to return, if 0, continues to generate samples indefinitely. :batch_size=1 : Number of batches (only affects speed/memory). :length=None : Number of tokens in generated text, if

(
    vocab_file="../models/gpt2-vocab.json",
    bpe_file="../models/gpt2-merges.txt",
    model_name='124M',
    nsamples=1,
    batch_size=2,
    length=32,
    temperature=1,
    top_k=4,
    top_p=0.0,
    models_dir='../models/openai_gpt_model',
    data_type='fp32',
    beam_width=1
)

Source from the content-addressed store, hash-verified

56from examples.tensorflow.decoder.utils.common import time_test
57
58def sample_model(
59 vocab_file="../models/gpt2-vocab.json",
60 bpe_file="../models/gpt2-merges.txt",
61 model_name='124M',
62 nsamples=1,
63 batch_size=2,
64 length=32,
65 temperature=1,
66 top_k=4,
67 top_p=0.0,
68 models_dir='../models/openai_gpt_model',
69 data_type='fp32',
70 beam_width=1
71):
72 """Run the sample_model.
73
74 :model_name=124M : String, which model to use
75 :nsamples=0 : Number of samples to return, if 0, continues to
76 generate samples indefinitely.
77 :batch_size=1 : Number of batches (only affects speed/memory).
78 :length=None : Number of tokens in generated text, if None (default), is
79 determined by model hyperparameters
80 :temperature=1 : Float value controlling randomness in boltzmann
81 distribution. Lower temperature results in less random completions. As the
82 temperature approaches zero, the model will become deterministic and
83 repetitive. Higher temperature results in more random completions.
84 :top_k=4 : Integer value controlling diversity. 1 means only 1 word is
85 considered for each step (token), resulting in deterministic completions,
86 while 40 means 40 words are considered at each step. 0 (default) is a
87 special setting meaning no restrictions. 40 generally is a good value.
88 :models_dir : path to parent folder containing model subfolders
89 (i.e. contains the <model_name> folder)
90 """
91 np.random.seed(1)
92 tf.set_random_seed(1)
93
94 if data_type == 'fp32':
95 tf_data_type = tf.float32
96 elif data_type == 'fp16':
97 tf_data_type = tf.float16
98 else:
99 assert(False)
100 models_dir = os.path.expanduser(os.path.expandvars(models_dir))
101 vocab_file=os.path.join(models_dir, model_name, 'encoder.json')
102 bpe_file=os.path.join(models_dir, model_name, 'vocab.bpe')
103 enc = encoder.get_encoder(vocab_file, bpe_file)
104 hparams = HParams(n_vocab=0,
105 n_ctx=1024,
106 n_embd=768,
107 n_head=12,
108 n_layer=12)
109
110 with open(os.path.join(models_dir, model_name, 'hparams.json')) as f:
111 hparams.override_from_dict(json.load(f))
112
113 if length is None:
114 length = hparams.n_ctx
115 elif length > hparams.n_ctx:

Callers

nothing calls this directly

Calls 7

TransformerArgumentClass · 0.90
DecodingArgumentNewClass · 0.90
ft_gpt_opFunction · 0.85
maxMethod · 0.80
loadMethod · 0.45
runMethod · 0.45
decodeMethod · 0.45

Tested by

no test coverage detected