MCPcopy
hub / github.com/zai-org/CogView / inverse_prompt_score

Function inverse_prompt_score

generation/sampling.py:214–230  ·  view source on GitHub ↗
(model, seq, args)

Source from the content-addressed store, hash-verified

212
213
214def inverse_prompt_score(model, seq, args):
215 tokenizer = get_tokenizer()
216 device = seq.device
217 assert len(seq.shape) == 2
218
219 botext = 2 + 1024 + 1
220 assert tokenizer['[ROI1]'] == seq[0][botext]
221
222 tokens, attention_mask, position_ids = get_batch(seq, device, args)
223 logits, *mems = model(tokens, position_ids, attention_mask, None, None, is_sparse=args.is_sparse)
224 logits[..., :tokenizer.img_tokenizer.num_tokens] = -float('Inf')
225 log_probs = torch.log(F.softmax(logits, dim=-1))
226
227 pred = log_probs[:, botext:-1, :]
228 target = tokens[:, botext+1:].unsqueeze(-1)
229 scores = torch.gather(pred, dim=2, index=target).squeeze(-1).sum(dim=-1)
230 return scores
231

Callers 1

post_selectionFunction · 0.90

Calls 3

get_tokenizerFunction · 0.90
logMethod · 0.80
get_batchFunction · 0.70

Tested by

no test coverage detected