Skip to content

Commit 8cc36ea

Browse files
author
harshg99
committed
text encoder entirely set through the path provided in the config
1 parent 90ec8f0 commit 8cc36ea

5 files changed

Lines changed: 14 additions & 4 deletions

File tree

src/vseek/tools/server.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ def __init__(self, args):
4949
if self.retriever_name == "ViClip":
5050
self.retriever = ViClip(
5151
pretrained_model_path=self.retrieval_model_path,
52+
tokenizer_path=args.retriever.text_encoder_model_path,
5253
gpu_number=self.gpu_number,
5354
)
5455
else:

src/vseek/video_embedding/lib_viclip/__init__.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,10 @@
77

88

99
def get_viclip(size='l',
10-
pretrain=os.path.join(os.path.dirname(os.path.abspath(__file__)), "ViClip-InternVid-10M-FLT.pth")):
10+
pretrain=os.path.join(os.path.dirname(os.path.abspath(__file__)), "ViClip-InternVid-10M-FLT.pth"),
11+
tokenizer_path=None):
1112

12-
tokenizer = _Tokenizer()
13+
tokenizer = _Tokenizer(bpe_path=tokenizer_path) if tokenizer_path else _Tokenizer()
1314
vclip = ViCLIP(tokenizer=tokenizer, size=size, pretrain=pretrain)
1415
m = {'viclip':vclip, 'tokenizer':tokenizer}
1516

src/vseek/video_embedding/lib_viclip/viclip.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -217,13 +217,15 @@ def build_text_encoder(self):
217217
context_length=self.max_txt_l,
218218
vocab_size=self.text_encoder_vocab_size,
219219
checkpoint_num=0,
220+
tokenizer=self.tokenizer,
220221
)
221222
elif encoder_name == "vit_b16":
222223
text_encoder = clip_text_b16(
223224
pretrained=self.text_encoder_pretrained,
224225
context_length=self.max_txt_l,
225226
vocab_size=self.text_encoder_vocab_size,
226227
checkpoint_num=0,
228+
tokenizer=self.tokenizer,
227229
)
228230
else:
229231
raise NotImplementedError(f"Not implemented: {encoder_name}")

src/vseek/video_embedding/lib_viclip/viclip_text.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,11 +107,12 @@ def __init__(
107107
transformer_heads: int,
108108
transformer_layers: int,
109109
checkpoint_num: int,
110+
tokenizer=None,
110111
):
111112
super().__init__()
112113

113114
self.context_length = context_length
114-
self._tokenizer = _Tokenizer()
115+
self._tokenizer = tokenizer if tokenizer else _Tokenizer()
115116

116117
self.transformer = Transformer(
117118
width=transformer_width,
@@ -211,6 +212,7 @@ def clip_text_b16(
211212
transformer_layers=12,
212213
checkpoint_num=0,
213214
pretrained=True,
215+
tokenizer=None,
214216
):
215217
# raise NotImplementedError
216218
model = CLIP_TEXT(
@@ -221,6 +223,7 @@ def clip_text_b16(
221223
transformer_heads,
222224
transformer_layers,
223225
checkpoint_num,
226+
tokenizer=tokenizer,
224227
)
225228
# pretrained = _MODELS["ViT-B/16"]
226229
# logger.info(f"Load pretrained weights from {pretrained}")
@@ -269,6 +272,7 @@ def clip_text_l14(
269272
transformer_layers=12,
270273
checkpoint_num=0,
271274
pretrained=True,
275+
tokenizer=None,
272276
):
273277
model = CLIP_TEXT(
274278
embed_dim,
@@ -278,6 +282,7 @@ def clip_text_l14(
278282
transformer_heads,
279283
transformer_layers,
280284
checkpoint_num,
285+
tokenizer=tokenizer,
281286
)
282287
if pretrained:
283288
if isinstance(pretrained, str) and pretrained != "bert-base-uncased":

src/vseek/video_embedding/video_clip.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,14 @@ def __init__(
2727
pretrained_model_path: str,
2828
size: str = "l",
2929
gpu_number: int = 0,
30+
tokenizer_path: str = None,
3031
) -> None:
3132
"""Initialize the ViClip model."""
3233
self.model_cfg = {
3334
"size": size,
3435
"pretrained": pretrained_model_path,
3536
}
36-
self.model = get_viclip(self.model_cfg["size"], self.model_cfg["pretrained"])
37+
self.model = get_viclip(self.model_cfg["size"], self.model_cfg["pretrained"], tokenizer_path=tokenizer_path)
3738
self.device = get_device(gpu_number)
3839
self.clip = self.model["viclip"]
3940
self.tokenizer = self.model["tokenizer"]

0 commit comments

Comments
 (0)