File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff 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 :
Original file line number Diff line number Diff line change 77
88
99def 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
Original file line number Diff line number Diff 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 } " )
Original file line number Diff line number Diff 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" :
Original file line number Diff line number Diff 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" ]
You can’t perform that action at this time.
0 commit comments