diff --git a/tensorrt_llm/_torch/models/__init__.py b/tensorrt_llm/_torch/models/__init__.py index aabd0d504831..84dcaae1b377 100644 --- a/tensorrt_llm/_torch/models/__init__.py +++ b/tensorrt_llm/_torch/models/__init__.py @@ -1,4 +1,5 @@ import transformers +from packaging import version from .modeling_auto import AutoModelForCausalLM from .modeling_bert import BertForSequenceClassification @@ -89,7 +90,7 @@ "Cohere2ForCausalLM", ] -if transformers.__version__ >= "4.45.1": +if version.parse(transformers.__version__) >= version.parse("4.45.1"): from .modeling_mllama import MllamaForConditionalGeneration # noqa __all__.append("MllamaForConditionalGeneration") diff --git a/tensorrt_llm/_torch/speculative/interface.py b/tensorrt_llm/_torch/speculative/interface.py index d7129bd9b64b..8d2c9dc32d0e 100644 --- a/tensorrt_llm/_torch/speculative/interface.py +++ b/tensorrt_llm/_torch/speculative/interface.py @@ -7,6 +7,7 @@ from typing import TYPE_CHECKING, List, Optional, Type import torch +from packaging import version from torch import nn from tensorrt_llm.logger import logger @@ -517,7 +518,8 @@ def __init__(self, use_separate_draft_kv_cache: bool = False): super().__init__() self.guided_decoder: Optional["CapturableGuidedDecoder"] = None self.force_num_accepted_tokens = get_force_num_accepted_tokens() - self.use_flashinfer = IS_FLASHINFER_AVAILABLE and flashinfer.__version__ >= "0.6.4" + self.use_flashinfer = IS_FLASHINFER_AVAILABLE and version.parse( + flashinfer.__version__) >= version.parse("0.6.4") self.seed: Optional[torch.Tensor] = None self.offset: Optional[torch.Tensor] = None self.use_separate_draft_kv_cache = use_separate_draft_kv_cache diff --git a/tensorrt_llm/tools/multimodal_builder.py b/tensorrt_llm/tools/multimodal_builder.py index bf948eb2506f..3918bc7a2126 100644 --- a/tensorrt_llm/tools/multimodal_builder.py +++ b/tensorrt_llm/tools/multimodal_builder.py @@ -6,6 +6,7 @@ from time import time import yaml +from packaging import version # isort: off import torch @@ -1406,7 +1407,8 @@ class VisionAttentionOpt(VisionAttention): def __init__(self, config: Qwen2VLVisionConfig): # Fallback for compatibility with older transformers versions (for certain nvbugs/tests) - if transformers.__version__ >= '4.53.0': + if version.parse( + transformers.__version__) >= version.parse('4.53.0'): super().__init__(config) self.head_dim = config.embed_dim // config.num_heads else: