compat: vendor _expand_mask/clip_loss, fix tokenizer init, alias functional_tensor, guard set_audio_backend
Browse files- languagebind/__pycache__/__init__.cpython-312.pyc +0 -0
- languagebind/__pycache__/__init__.cpython-313.pyc +0 -0
- languagebind/audio/__pycache__/configuration_audio.cpython-312.pyc +0 -0
- languagebind/audio/__pycache__/modeling_audio.cpython-312.pyc +0 -0
- languagebind/audio/__pycache__/processing_audio.cpython-312.pyc +0 -0
- languagebind/audio/__pycache__/tokenization_audio.cpython-312.pyc +0 -0
- languagebind/audio/modeling_audio.py +18 -1
- languagebind/audio/processing_audio.py +4 -1
- languagebind/audio/tokenization_audio.py +7 -7
- languagebind/depth/__pycache__/configuration_depth.cpython-312.pyc +0 -0
- languagebind/depth/__pycache__/modeling_depth.cpython-312.pyc +0 -0
- languagebind/depth/__pycache__/processing_depth.cpython-312.pyc +0 -0
- languagebind/depth/__pycache__/tokenization_depth.cpython-312.pyc +0 -0
- languagebind/depth/modeling_depth.py +18 -1
- languagebind/depth/tokenization_depth.py +7 -7
- languagebind/image/__pycache__/configuration_image.cpython-312.pyc +0 -0
- languagebind/image/__pycache__/configuration_image.cpython-313.pyc +0 -0
- languagebind/image/__pycache__/modeling_image.cpython-312.pyc +0 -0
- languagebind/image/__pycache__/modeling_image.cpython-313.pyc +0 -0
- languagebind/image/__pycache__/processing_image.cpython-312.pyc +0 -0
- languagebind/image/__pycache__/tokenization_image.cpython-312.pyc +0 -0
- languagebind/image/modeling_image.py +18 -1
- languagebind/image/tokenization_image.py +7 -7
- languagebind/thermal/__pycache__/configuration_thermal.cpython-312.pyc +0 -0
- languagebind/thermal/__pycache__/modeling_thermal.cpython-312.pyc +0 -0
- languagebind/thermal/__pycache__/processing_thermal.cpython-312.pyc +0 -0
- languagebind/thermal/__pycache__/tokenization_thermal.cpython-312.pyc +0 -0
- languagebind/thermal/modeling_thermal.py +18 -1
- languagebind/thermal/tokenization_thermal.py +7 -7
- languagebind/video/__pycache__/configuration_video.cpython-312.pyc +0 -0
- languagebind/video/__pycache__/modeling_video.cpython-312.pyc +0 -0
- languagebind/video/__pycache__/processing_video.cpython-312.pyc +0 -0
- languagebind/video/__pycache__/tokenization_video.cpython-312.pyc +0 -0
- languagebind/video/modeling_video.py +18 -1
- languagebind/video/processing_video.py +11 -0
- languagebind/video/tokenization_video.py +7 -7
languagebind/__pycache__/__init__.cpython-312.pyc
ADDED
|
Binary file (4.6 kB). View file
|
|
|
languagebind/__pycache__/__init__.cpython-313.pyc
ADDED
|
Binary file (4.67 kB). View file
|
|
|
languagebind/audio/__pycache__/configuration_audio.cpython-312.pyc
ADDED
|
Binary file (17.6 kB). View file
|
|
|
languagebind/audio/__pycache__/modeling_audio.cpython-312.pyc
ADDED
|
Binary file (49.9 kB). View file
|
|
|
languagebind/audio/__pycache__/processing_audio.cpython-312.pyc
ADDED
|
Binary file (8.32 kB). View file
|
|
|
languagebind/audio/__pycache__/tokenization_audio.cpython-312.pyc
ADDED
|
Binary file (2.81 kB). View file
|
|
|
languagebind/audio/modeling_audio.py
CHANGED
|
@@ -9,7 +9,24 @@ from torch.nn import functional as F
|
|
| 9 |
from transformers import PreTrainedModel, add_start_docstrings
|
| 10 |
from transformers.modeling_outputs import BaseModelOutput, BaseModelOutputWithPooling
|
| 11 |
from transformers.models.clip.modeling_clip import CLIPMLP, CLIPAttention, CLIPTextEmbeddings, CLIPVisionEmbeddings, \
|
| 12 |
-
CLIPVisionModelWithProjection, CLIPTextModelWithProjection,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 13 |
from transformers.utils import add_start_docstrings_to_model_forward, replace_return_docstrings
|
| 14 |
|
| 15 |
from .configuration_audio import LanguageBindAudioConfig, CLIPVisionConfig, CLIPTextConfig
|
|
|
|
| 9 |
from transformers import PreTrainedModel, add_start_docstrings
|
| 10 |
from transformers.modeling_outputs import BaseModelOutput, BaseModelOutputWithPooling
|
| 11 |
from transformers.models.clip.modeling_clip import CLIPMLP, CLIPAttention, CLIPTextEmbeddings, CLIPVisionEmbeddings, \
|
| 12 |
+
CLIPVisionModelWithProjection, CLIPTextModelWithProjection, CLIPOutput
|
| 13 |
+
|
| 14 |
+
|
| 15 |
+
def _expand_mask(mask, dtype, tgt_len=None):
|
| 16 |
+
# Vendored from transformers<4.35; removed upstream in the attention-mask refactor.
|
| 17 |
+
bsz, src_len = mask.size()
|
| 18 |
+
tgt_len = tgt_len if tgt_len is not None else src_len
|
| 19 |
+
expanded_mask = mask[:, None, None, :].expand(bsz, 1, tgt_len, src_len).to(dtype)
|
| 20 |
+
inverted_mask = 1.0 - expanded_mask
|
| 21 |
+
return inverted_mask.masked_fill(inverted_mask.to(bool), float('-inf'))
|
| 22 |
+
|
| 23 |
+
|
| 24 |
+
def clip_loss(similarity):
|
| 25 |
+
# Vendored from transformers; removed upstream.
|
| 26 |
+
import torch
|
| 27 |
+
caption_loss = torch.nn.functional.cross_entropy(similarity, torch.arange(len(similarity), device=similarity.device))
|
| 28 |
+
image_loss = torch.nn.functional.cross_entropy(similarity.t(), torch.arange(len(similarity), device=similarity.device))
|
| 29 |
+
return (caption_loss + image_loss) / 2.0
|
| 30 |
from transformers.utils import add_start_docstrings_to_model_forward, replace_return_docstrings
|
| 31 |
|
| 32 |
from .configuration_audio import LanguageBindAudioConfig, CLIPVisionConfig, CLIPTextConfig
|
languagebind/audio/processing_audio.py
CHANGED
|
@@ -14,7 +14,10 @@ def make_list_of_images(x):
|
|
| 14 |
return x
|
| 15 |
|
| 16 |
|
| 17 |
-
torchaudio.set_audio_backend
|
|
|
|
|
|
|
|
|
|
| 18 |
|
| 19 |
def torchaudio_loader(path):
|
| 20 |
return torchaudio.load(path)
|
|
|
|
| 14 |
return x
|
| 15 |
|
| 16 |
|
| 17 |
+
# torchaudio.set_audio_backend was deprecated and later removed; it is a no-op
|
| 18 |
+
# on modern torchaudio, so only call it when present (older versions).
|
| 19 |
+
if hasattr(torchaudio, "set_audio_backend"):
|
| 20 |
+
torchaudio.set_audio_backend("soundfile")
|
| 21 |
|
| 22 |
def torchaudio_loader(path):
|
| 23 |
return torchaudio.load(path)
|
languagebind/audio/tokenization_audio.py
CHANGED
|
@@ -67,11 +67,11 @@ class LanguageBindAudioTokenizer(CLIPTokenizer):
|
|
| 67 |
**kwargs,
|
| 68 |
):
|
| 69 |
super(LanguageBindAudioTokenizer, self).__init__(
|
| 70 |
-
vocab_file,
|
| 71 |
-
merges_file,
|
| 72 |
-
errors,
|
| 73 |
-
unk_token,
|
| 74 |
-
bos_token,
|
| 75 |
-
eos_token,
|
| 76 |
-
pad_token, # hack to enable padding
|
| 77 |
**kwargs,)
|
|
|
|
| 67 |
**kwargs,
|
| 68 |
):
|
| 69 |
super(LanguageBindAudioTokenizer, self).__init__(
|
| 70 |
+
vocab_file=vocab_file,
|
| 71 |
+
merges_file=merges_file,
|
| 72 |
+
errors=errors,
|
| 73 |
+
unk_token=unk_token,
|
| 74 |
+
bos_token=bos_token,
|
| 75 |
+
eos_token=eos_token,
|
| 76 |
+
pad_token=pad_token, # hack to enable padding
|
| 77 |
**kwargs,)
|
languagebind/depth/__pycache__/configuration_depth.cpython-312.pyc
ADDED
|
Binary file (17.5 kB). View file
|
|
|
languagebind/depth/__pycache__/modeling_depth.cpython-312.pyc
ADDED
|
Binary file (49.9 kB). View file
|
|
|
languagebind/depth/__pycache__/processing_depth.cpython-312.pyc
ADDED
|
Binary file (5.8 kB). View file
|
|
|
languagebind/depth/__pycache__/tokenization_depth.cpython-312.pyc
ADDED
|
Binary file (2.84 kB). View file
|
|
|
languagebind/depth/modeling_depth.py
CHANGED
|
@@ -9,7 +9,24 @@ from torch.nn import functional as F
|
|
| 9 |
from transformers import PreTrainedModel, add_start_docstrings
|
| 10 |
from transformers.modeling_outputs import BaseModelOutput, BaseModelOutputWithPooling
|
| 11 |
from transformers.models.clip.modeling_clip import CLIPMLP, CLIPAttention, CLIPTextEmbeddings, CLIPVisionEmbeddings, \
|
| 12 |
-
CLIPVisionModelWithProjection, CLIPTextModelWithProjection,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 13 |
from transformers.utils import add_start_docstrings_to_model_forward, replace_return_docstrings
|
| 14 |
|
| 15 |
from .configuration_depth import LanguageBindDepthConfig, CLIPVisionConfig, CLIPTextConfig
|
|
|
|
| 9 |
from transformers import PreTrainedModel, add_start_docstrings
|
| 10 |
from transformers.modeling_outputs import BaseModelOutput, BaseModelOutputWithPooling
|
| 11 |
from transformers.models.clip.modeling_clip import CLIPMLP, CLIPAttention, CLIPTextEmbeddings, CLIPVisionEmbeddings, \
|
| 12 |
+
CLIPVisionModelWithProjection, CLIPTextModelWithProjection, CLIPOutput
|
| 13 |
+
|
| 14 |
+
|
| 15 |
+
def _expand_mask(mask, dtype, tgt_len=None):
|
| 16 |
+
# Vendored from transformers<4.35; removed upstream in the attention-mask refactor.
|
| 17 |
+
bsz, src_len = mask.size()
|
| 18 |
+
tgt_len = tgt_len if tgt_len is not None else src_len
|
| 19 |
+
expanded_mask = mask[:, None, None, :].expand(bsz, 1, tgt_len, src_len).to(dtype)
|
| 20 |
+
inverted_mask = 1.0 - expanded_mask
|
| 21 |
+
return inverted_mask.masked_fill(inverted_mask.to(bool), float('-inf'))
|
| 22 |
+
|
| 23 |
+
|
| 24 |
+
def clip_loss(similarity):
|
| 25 |
+
# Vendored from transformers; removed upstream.
|
| 26 |
+
import torch
|
| 27 |
+
caption_loss = torch.nn.functional.cross_entropy(similarity, torch.arange(len(similarity), device=similarity.device))
|
| 28 |
+
image_loss = torch.nn.functional.cross_entropy(similarity.t(), torch.arange(len(similarity), device=similarity.device))
|
| 29 |
+
return (caption_loss + image_loss) / 2.0
|
| 30 |
from transformers.utils import add_start_docstrings_to_model_forward, replace_return_docstrings
|
| 31 |
|
| 32 |
from .configuration_depth import LanguageBindDepthConfig, CLIPVisionConfig, CLIPTextConfig
|
languagebind/depth/tokenization_depth.py
CHANGED
|
@@ -67,11 +67,11 @@ class LanguageBindDepthTokenizer(CLIPTokenizer):
|
|
| 67 |
**kwargs,
|
| 68 |
):
|
| 69 |
super(LanguageBindDepthTokenizer, self).__init__(
|
| 70 |
-
vocab_file,
|
| 71 |
-
merges_file,
|
| 72 |
-
errors,
|
| 73 |
-
unk_token,
|
| 74 |
-
bos_token,
|
| 75 |
-
eos_token,
|
| 76 |
-
pad_token, # hack to enable padding
|
| 77 |
**kwargs,)
|
|
|
|
| 67 |
**kwargs,
|
| 68 |
):
|
| 69 |
super(LanguageBindDepthTokenizer, self).__init__(
|
| 70 |
+
vocab_file=vocab_file,
|
| 71 |
+
merges_file=merges_file,
|
| 72 |
+
errors=errors,
|
| 73 |
+
unk_token=unk_token,
|
| 74 |
+
bos_token=bos_token,
|
| 75 |
+
eos_token=eos_token,
|
| 76 |
+
pad_token=pad_token, # hack to enable padding
|
| 77 |
**kwargs,)
|
languagebind/image/__pycache__/configuration_image.cpython-312.pyc
ADDED
|
Binary file (17.5 kB). View file
|
|
|
languagebind/image/__pycache__/configuration_image.cpython-313.pyc
ADDED
|
Binary file (17.2 kB). View file
|
|
|
languagebind/image/__pycache__/modeling_image.cpython-312.pyc
ADDED
|
Binary file (49.9 kB). View file
|
|
|
languagebind/image/__pycache__/modeling_image.cpython-313.pyc
ADDED
|
Binary file (49.5 kB). View file
|
|
|
languagebind/image/__pycache__/processing_image.cpython-312.pyc
ADDED
|
Binary file (4.14 kB). View file
|
|
|
languagebind/image/__pycache__/tokenization_image.cpython-312.pyc
ADDED
|
Binary file (2.81 kB). View file
|
|
|
languagebind/image/modeling_image.py
CHANGED
|
@@ -9,7 +9,24 @@ from torch.nn import functional as F
|
|
| 9 |
from transformers import PreTrainedModel, add_start_docstrings
|
| 10 |
from transformers.modeling_outputs import BaseModelOutput, BaseModelOutputWithPooling
|
| 11 |
from transformers.models.clip.modeling_clip import CLIPMLP, CLIPAttention, CLIPTextEmbeddings, CLIPVisionEmbeddings, \
|
| 12 |
-
CLIPVisionModelWithProjection, CLIPTextModelWithProjection,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 13 |
from transformers.utils import add_start_docstrings_to_model_forward, replace_return_docstrings
|
| 14 |
|
| 15 |
from .configuration_image import LanguageBindImageConfig, CLIPVisionConfig, CLIPTextConfig
|
|
|
|
| 9 |
from transformers import PreTrainedModel, add_start_docstrings
|
| 10 |
from transformers.modeling_outputs import BaseModelOutput, BaseModelOutputWithPooling
|
| 11 |
from transformers.models.clip.modeling_clip import CLIPMLP, CLIPAttention, CLIPTextEmbeddings, CLIPVisionEmbeddings, \
|
| 12 |
+
CLIPVisionModelWithProjection, CLIPTextModelWithProjection, CLIPOutput
|
| 13 |
+
|
| 14 |
+
|
| 15 |
+
def _expand_mask(mask, dtype, tgt_len=None):
|
| 16 |
+
# Vendored from transformers<4.35; removed upstream in the attention-mask refactor.
|
| 17 |
+
bsz, src_len = mask.size()
|
| 18 |
+
tgt_len = tgt_len if tgt_len is not None else src_len
|
| 19 |
+
expanded_mask = mask[:, None, None, :].expand(bsz, 1, tgt_len, src_len).to(dtype)
|
| 20 |
+
inverted_mask = 1.0 - expanded_mask
|
| 21 |
+
return inverted_mask.masked_fill(inverted_mask.to(bool), float('-inf'))
|
| 22 |
+
|
| 23 |
+
|
| 24 |
+
def clip_loss(similarity):
|
| 25 |
+
# Vendored from transformers; removed upstream.
|
| 26 |
+
import torch
|
| 27 |
+
caption_loss = torch.nn.functional.cross_entropy(similarity, torch.arange(len(similarity), device=similarity.device))
|
| 28 |
+
image_loss = torch.nn.functional.cross_entropy(similarity.t(), torch.arange(len(similarity), device=similarity.device))
|
| 29 |
+
return (caption_loss + image_loss) / 2.0
|
| 30 |
from transformers.utils import add_start_docstrings_to_model_forward, replace_return_docstrings
|
| 31 |
|
| 32 |
from .configuration_image import LanguageBindImageConfig, CLIPVisionConfig, CLIPTextConfig
|
languagebind/image/tokenization_image.py
CHANGED
|
@@ -67,11 +67,11 @@ class LanguageBindImageTokenizer(CLIPTokenizer):
|
|
| 67 |
**kwargs,
|
| 68 |
):
|
| 69 |
super(LanguageBindImageTokenizer, self).__init__(
|
| 70 |
-
vocab_file,
|
| 71 |
-
merges_file,
|
| 72 |
-
errors,
|
| 73 |
-
unk_token,
|
| 74 |
-
bos_token,
|
| 75 |
-
eos_token,
|
| 76 |
-
pad_token, # hack to enable padding
|
| 77 |
**kwargs,)
|
|
|
|
| 67 |
**kwargs,
|
| 68 |
):
|
| 69 |
super(LanguageBindImageTokenizer, self).__init__(
|
| 70 |
+
vocab_file=vocab_file,
|
| 71 |
+
merges_file=merges_file,
|
| 72 |
+
errors=errors,
|
| 73 |
+
unk_token=unk_token,
|
| 74 |
+
bos_token=bos_token,
|
| 75 |
+
eos_token=eos_token,
|
| 76 |
+
pad_token=pad_token, # hack to enable padding
|
| 77 |
**kwargs,)
|
languagebind/thermal/__pycache__/configuration_thermal.cpython-312.pyc
ADDED
|
Binary file (17.5 kB). View file
|
|
|
languagebind/thermal/__pycache__/modeling_thermal.cpython-312.pyc
ADDED
|
Binary file (50 kB). View file
|
|
|
languagebind/thermal/__pycache__/processing_thermal.cpython-312.pyc
ADDED
|
Binary file (4.17 kB). View file
|
|
|
languagebind/thermal/__pycache__/tokenization_thermal.cpython-312.pyc
ADDED
|
Binary file (2.83 kB). View file
|
|
|
languagebind/thermal/modeling_thermal.py
CHANGED
|
@@ -9,7 +9,24 @@ from torch.nn import functional as F
|
|
| 9 |
from transformers import PreTrainedModel, add_start_docstrings
|
| 10 |
from transformers.modeling_outputs import BaseModelOutput, BaseModelOutputWithPooling
|
| 11 |
from transformers.models.clip.modeling_clip import CLIPMLP, CLIPAttention, CLIPTextEmbeddings, CLIPVisionEmbeddings, \
|
| 12 |
-
CLIPVisionModelWithProjection, CLIPTextModelWithProjection,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 13 |
from transformers.utils import add_start_docstrings_to_model_forward, replace_return_docstrings
|
| 14 |
|
| 15 |
from .configuration_thermal import LanguageBindThermalConfig, CLIPVisionConfig, CLIPTextConfig
|
|
|
|
| 9 |
from transformers import PreTrainedModel, add_start_docstrings
|
| 10 |
from transformers.modeling_outputs import BaseModelOutput, BaseModelOutputWithPooling
|
| 11 |
from transformers.models.clip.modeling_clip import CLIPMLP, CLIPAttention, CLIPTextEmbeddings, CLIPVisionEmbeddings, \
|
| 12 |
+
CLIPVisionModelWithProjection, CLIPTextModelWithProjection, CLIPOutput
|
| 13 |
+
|
| 14 |
+
|
| 15 |
+
def _expand_mask(mask, dtype, tgt_len=None):
|
| 16 |
+
# Vendored from transformers<4.35; removed upstream in the attention-mask refactor.
|
| 17 |
+
bsz, src_len = mask.size()
|
| 18 |
+
tgt_len = tgt_len if tgt_len is not None else src_len
|
| 19 |
+
expanded_mask = mask[:, None, None, :].expand(bsz, 1, tgt_len, src_len).to(dtype)
|
| 20 |
+
inverted_mask = 1.0 - expanded_mask
|
| 21 |
+
return inverted_mask.masked_fill(inverted_mask.to(bool), float('-inf'))
|
| 22 |
+
|
| 23 |
+
|
| 24 |
+
def clip_loss(similarity):
|
| 25 |
+
# Vendored from transformers; removed upstream.
|
| 26 |
+
import torch
|
| 27 |
+
caption_loss = torch.nn.functional.cross_entropy(similarity, torch.arange(len(similarity), device=similarity.device))
|
| 28 |
+
image_loss = torch.nn.functional.cross_entropy(similarity.t(), torch.arange(len(similarity), device=similarity.device))
|
| 29 |
+
return (caption_loss + image_loss) / 2.0
|
| 30 |
from transformers.utils import add_start_docstrings_to_model_forward, replace_return_docstrings
|
| 31 |
|
| 32 |
from .configuration_thermal import LanguageBindThermalConfig, CLIPVisionConfig, CLIPTextConfig
|
languagebind/thermal/tokenization_thermal.py
CHANGED
|
@@ -67,11 +67,11 @@ class LanguageBindThermalTokenizer(CLIPTokenizer):
|
|
| 67 |
**kwargs,
|
| 68 |
):
|
| 69 |
super(LanguageBindThermalTokenizer, self).__init__(
|
| 70 |
-
vocab_file,
|
| 71 |
-
merges_file,
|
| 72 |
-
errors,
|
| 73 |
-
unk_token,
|
| 74 |
-
bos_token,
|
| 75 |
-
eos_token,
|
| 76 |
-
pad_token, # hack to enable padding
|
| 77 |
**kwargs,)
|
|
|
|
| 67 |
**kwargs,
|
| 68 |
):
|
| 69 |
super(LanguageBindThermalTokenizer, self).__init__(
|
| 70 |
+
vocab_file=vocab_file,
|
| 71 |
+
merges_file=merges_file,
|
| 72 |
+
errors=errors,
|
| 73 |
+
unk_token=unk_token,
|
| 74 |
+
bos_token=bos_token,
|
| 75 |
+
eos_token=eos_token,
|
| 76 |
+
pad_token=pad_token, # hack to enable padding
|
| 77 |
**kwargs,)
|
languagebind/video/__pycache__/configuration_video.cpython-312.pyc
ADDED
|
Binary file (17.5 kB). View file
|
|
|
languagebind/video/__pycache__/modeling_video.cpython-312.pyc
ADDED
|
Binary file (56.2 kB). View file
|
|
|
languagebind/video/__pycache__/processing_video.cpython-312.pyc
ADDED
|
Binary file (8.31 kB). View file
|
|
|
languagebind/video/__pycache__/tokenization_video.cpython-312.pyc
ADDED
|
Binary file (2.81 kB). View file
|
|
|
languagebind/video/modeling_video.py
CHANGED
|
@@ -9,7 +9,24 @@ from torch.nn import functional as F
|
|
| 9 |
from transformers import PreTrainedModel, add_start_docstrings
|
| 10 |
from transformers.modeling_outputs import BaseModelOutput, BaseModelOutputWithPooling
|
| 11 |
from transformers.models.clip.modeling_clip import CLIPMLP, CLIPAttention, CLIPTextEmbeddings, CLIPVisionEmbeddings, \
|
| 12 |
-
CLIPVisionModelWithProjection, CLIPTextModelWithProjection,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 13 |
from transformers.utils import add_start_docstrings_to_model_forward, replace_return_docstrings
|
| 14 |
|
| 15 |
from .configuration_video import LanguageBindVideoConfig, CLIPVisionConfig, CLIPTextConfig
|
|
|
|
| 9 |
from transformers import PreTrainedModel, add_start_docstrings
|
| 10 |
from transformers.modeling_outputs import BaseModelOutput, BaseModelOutputWithPooling
|
| 11 |
from transformers.models.clip.modeling_clip import CLIPMLP, CLIPAttention, CLIPTextEmbeddings, CLIPVisionEmbeddings, \
|
| 12 |
+
CLIPVisionModelWithProjection, CLIPTextModelWithProjection, CLIPOutput
|
| 13 |
+
|
| 14 |
+
|
| 15 |
+
def _expand_mask(mask, dtype, tgt_len=None):
|
| 16 |
+
# Vendored from transformers<4.35; removed upstream in the attention-mask refactor.
|
| 17 |
+
bsz, src_len = mask.size()
|
| 18 |
+
tgt_len = tgt_len if tgt_len is not None else src_len
|
| 19 |
+
expanded_mask = mask[:, None, None, :].expand(bsz, 1, tgt_len, src_len).to(dtype)
|
| 20 |
+
inverted_mask = 1.0 - expanded_mask
|
| 21 |
+
return inverted_mask.masked_fill(inverted_mask.to(bool), float('-inf'))
|
| 22 |
+
|
| 23 |
+
|
| 24 |
+
def clip_loss(similarity):
|
| 25 |
+
# Vendored from transformers; removed upstream.
|
| 26 |
+
import torch
|
| 27 |
+
caption_loss = torch.nn.functional.cross_entropy(similarity, torch.arange(len(similarity), device=similarity.device))
|
| 28 |
+
image_loss = torch.nn.functional.cross_entropy(similarity.t(), torch.arange(len(similarity), device=similarity.device))
|
| 29 |
+
return (caption_loss + image_loss) / 2.0
|
| 30 |
from transformers.utils import add_start_docstrings_to_model_forward, replace_return_docstrings
|
| 31 |
|
| 32 |
from .configuration_video import LanguageBindVideoConfig, CLIPVisionConfig, CLIPTextConfig
|
languagebind/video/processing_video.py
CHANGED
|
@@ -10,6 +10,17 @@ from transformers.image_processing_utils import BatchFeature
|
|
| 10 |
from pytorchvideo.data.encoded_video import EncodedVideo
|
| 11 |
from torchvision.transforms import Compose, Lambda, ToTensor
|
| 12 |
from torchvision.transforms._transforms_video import NormalizeVideo, RandomCropVideo, RandomHorizontalFlipVideo, CenterCropVideo
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 13 |
from pytorchvideo.transforms import ApplyTransformToKey, ShortSideScale, UniformTemporalSubsample
|
| 14 |
|
| 15 |
decord.bridge.set_bridge('torch')
|
|
|
|
| 10 |
from pytorchvideo.data.encoded_video import EncodedVideo
|
| 11 |
from torchvision.transforms import Compose, Lambda, ToTensor
|
| 12 |
from torchvision.transforms._transforms_video import NormalizeVideo, RandomCropVideo, RandomHorizontalFlipVideo, CenterCropVideo
|
| 13 |
+
# pytorchvideo 0.1.5 imports torchvision.transforms.functional_tensor at module
|
| 14 |
+
# import time, but torchvision removed that module in newer releases. LanguageBind
|
| 15 |
+
# only needs ApplyTransformToKey, ShortSideScale, and UniformTemporalSubsample from
|
| 16 |
+
# pytorchvideo.transforms, so provide the old module name before importing it.
|
| 17 |
+
import sys
|
| 18 |
+
import torchvision.transforms.functional as _torchvision_functional
|
| 19 |
+
|
| 20 |
+
sys.modules.setdefault(
|
| 21 |
+
"torchvision.transforms.functional_tensor",
|
| 22 |
+
_torchvision_functional,
|
| 23 |
+
)
|
| 24 |
from pytorchvideo.transforms import ApplyTransformToKey, ShortSideScale, UniformTemporalSubsample
|
| 25 |
|
| 26 |
decord.bridge.set_bridge('torch')
|
languagebind/video/tokenization_video.py
CHANGED
|
@@ -67,11 +67,11 @@ class LanguageBindVideoTokenizer(CLIPTokenizer):
|
|
| 67 |
**kwargs,
|
| 68 |
):
|
| 69 |
super(LanguageBindVideoTokenizer, self).__init__(
|
| 70 |
-
vocab_file,
|
| 71 |
-
merges_file,
|
| 72 |
-
errors,
|
| 73 |
-
unk_token,
|
| 74 |
-
bos_token,
|
| 75 |
-
eos_token,
|
| 76 |
-
pad_token, # hack to enable padding
|
| 77 |
**kwargs,)
|
|
|
|
| 67 |
**kwargs,
|
| 68 |
):
|
| 69 |
super(LanguageBindVideoTokenizer, self).__init__(
|
| 70 |
+
vocab_file=vocab_file,
|
| 71 |
+
merges_file=merges_file,
|
| 72 |
+
errors=errors,
|
| 73 |
+
unk_token=unk_token,
|
| 74 |
+
bos_token=bos_token,
|
| 75 |
+
eos_token=eos_token,
|
| 76 |
+
pad_token=pad_token, # hack to enable padding
|
| 77 |
**kwargs,)
|