INNER CODE UNIT · Python
_sample
hyperonym/basaran · basaran/model.py:132
def _sample(self, token, token_logprob, top_tokens, top_logprobs):
"""Sample log probabilities of the most likely tokens."""
token = self.tokenizer.decode(token)
top_tokens = self.tokenizer.batch_decode(top_tokens)
# Do not use tensor operations as arguments may be of list type.
token_logprob = round(float(token_logprob), 8)
top_logprobs = [round(float(p), 8) for p in top_logprobs]
# Always include the log probability of the selected token.
top_logprobs = dict(zip(top_tokens, top_logprobs))
top_logprobs[token] = token_logprob
return {
"token": token,
"token_logprob": token_logprob,
"top_logprobs": top_logprobs,
}