Update vision.py
This commit is contained in:
parent
8d7b0d9298
commit
02ed7bfd7f
1 changed files with 26 additions and 0 deletions
|
|
@ -36,6 +36,32 @@ __all__ = [
|
|||
"FastBaseVisionModel",
|
||||
]
|
||||
|
||||
def _wrap_fast_inference(generate, device_type, dtype, model):
|
||||
# Wraps inference with bfloat16 / float16
|
||||
@torch.inference_mode
|
||||
def _fast_generate(*args, **kwargs):
|
||||
# For num_logits_to_keep
|
||||
kwargs["num_logits_to_keep"] = 1
|
||||
|
||||
# Remove token_type_ids
|
||||
kwargs.pop("token_type_ids", None)
|
||||
|
||||
# Check pad_token
|
||||
model_eos_token_id = getattr(model.config, "eos_token_id", None)
|
||||
if model_eos_token_id is not None and hasattr(model_eos_token_id, "__iter__"):
|
||||
model_eos_token_id = model_eos_token_id[0]
|
||||
|
||||
kwargs["pad_token_id"] = kwargs.pop("pad_token_id", model_eos_token_id)
|
||||
|
||||
# Autocasted
|
||||
with torch.autocast(device_type = device_type, dtype = dtype):
|
||||
output = generate(*args, **kwargs)
|
||||
pass
|
||||
return output
|
||||
pass
|
||||
return _fast_generate
|
||||
pass
|
||||
|
||||
|
||||
class FastBaseVisionModel:
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue