kimsan0622 commited on
Commit
12fa22c
1 Parent(s): a22f89c

Upload processor

Browse files
preprocessor_config.json ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "auto_map": {
3
+ "AutoProcessor": "processing_veld.VELDProcessor"
4
+ },
5
+ "do_normalize": true,
6
+ "do_resize": true,
7
+ "feature_extractor_type": "ViTFeatureExtractor",
8
+ "image_mean": [
9
+ 0.5,
10
+ 0.5,
11
+ 0.5
12
+ ],
13
+ "image_std": [
14
+ 0.5,
15
+ 0.5,
16
+ 0.5
17
+ ],
18
+ "processor_class": "VELDProcessor",
19
+ "resample": 2,
20
+ "size": 384
21
+ }
processing_veld.py ADDED
@@ -0,0 +1,103 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # coding=utf-8
2
+ # Copyright 2022 The HuggingFace Inc. team and san kim.
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ """
16
+ Processor class for VELD
17
+ """
18
+
19
+ from transformers.processing_utils import ProcessorMixin
20
+ from transformers.tokenization_utils_base import BatchEncoding
21
+
22
+
23
+ class VELDProcessor(ProcessorMixin):
24
+ r"""
25
+ Constructs a VELD processor which wraps a vision feature extractor and a tokenizer into a single
26
+ processor.
27
+ [`VELDProcessor`] offers all the functionalities of [`AutoFeatureExtractor`] and
28
+ [`AutoTokenizer`]. See the [`~VELDProcessor.__call__`] and
29
+ [`~VELDProcessor.decode`] for more information.
30
+ Args:
31
+ feature_extractor ([`AutoFeatureExtractor`]):
32
+ The feature extractor is a required input.
33
+ tokenizer ([`PreTrainedTokenizer`]):
34
+ The tokenizer is a required input.
35
+ """
36
+ feature_extractor_class = "AutoFeatureExtractor"
37
+ tokenizer_class = "AutoTokenizer"
38
+
39
+ def __init__(self, feature_extractor, tokenizer):
40
+ super().__init__(feature_extractor, tokenizer)
41
+ self.current_processor = self.feature_extractor
42
+
43
+ def __call__(self, text=None, images=None, return_tensors=None, **kwargs):
44
+ """
45
+ Main method to prepare for the model one or several sequences(s) and image(s). This method forwards the `text`
46
+ and `kwargs` arguments to VisionTextDualEncoderTokenizer's [`~PreTrainedTokenizer.__call__`] if `text` is not
47
+ `None` to encode the text. To prepare the image(s), this method forwards the `images` and `kwrags` arguments to
48
+ AutoFeatureExtractor's [`~AutoFeatureExtractor.__call__`] if `images` is not `None`. Please refer to the
49
+ doctsring of the above two methods for more information.
50
+ Args:
51
+ text (`str`, `List[str]`, `List[List[str]]`):
52
+ The sequence or batch of sequences to be encoded. Each sequence can be a string or a list of strings
53
+ (pretokenized string). If the sequences are provided as list of strings (pretokenized), you must set
54
+ `is_split_into_words=True` (to lift the ambiguity with a batch of sequences).
55
+ images (`PIL.Image.Image`, `np.ndarray`, `torch.Tensor`, `List[PIL.Image.Image]`, `List[np.ndarray]`, `List[torch.Tensor]`):
56
+ The image or batch of images to be prepared. Each image can be a PIL image, NumPy array or PyTorch
57
+ tensor. In case of a NumPy array/PyTorch tensor, each image should be of shape (C, H, W), where C is a
58
+ number of channels, H and W are image height and width.
59
+ return_tensors (`str` or [`~utils.TensorType`], *optional*):
60
+ If set, will return tensors of a particular framework. Acceptable values are:
61
+ - `'tf'`: Return TensorFlow `tf.constant` objects.
62
+ - `'pt'`: Return PyTorch `torch.Tensor` objects.
63
+ - `'np'`: Return NumPy `np.ndarray` objects.
64
+ - `'jax'`: Return JAX `jnp.ndarray` objects.
65
+ Returns:
66
+ [`BatchEncoding`]: A [`BatchEncoding`] with the following fields:
67
+ - **input_ids** -- List of token ids to be fed to a model. Returned when `text` is not `None`.
68
+ - **attention_mask** -- List of indices specifying which tokens should be attended to by the model (when
69
+ `return_attention_mask=True` or if *"attention_mask"* is in `self.model_input_names` and if `text` is not
70
+ `None`).
71
+ - **pixel_values** -- Pixel values to be fed to a model. Returned when `images` is not `None`.
72
+ """
73
+
74
+ if text is None and images is None:
75
+ raise ValueError("You have to specify either text or images. Both cannot be none.")
76
+
77
+ if text is not None:
78
+ encoding = self.tokenizer(text, return_tensors=return_tensors, **kwargs)
79
+
80
+ if images is not None:
81
+ image_features = self.feature_extractor(images, return_tensors=return_tensors, **kwargs)
82
+
83
+ if text is not None and images is not None:
84
+ encoding["pixel_values"] = image_features.pixel_values
85
+ return encoding
86
+ elif text is not None:
87
+ return encoding
88
+ else:
89
+ return BatchEncoding(data=dict(**image_features), tensor_type=return_tensors)
90
+
91
+ def batch_decode(self, *args, **kwargs):
92
+ """
93
+ This method forwards all its arguments to VELDProcessor's
94
+ [`~PreTrainedTokenizer.batch_decode`]. Please refer to the docstring of this method for more information.
95
+ """
96
+ return self.tokenizer.batch_decode(*args, **kwargs)
97
+
98
+ def decode(self, *args, **kwargs):
99
+ """
100
+ This method forwards all its arguments to VELDProcessor's [`~PreTrainedTokenizer.decode`].
101
+ Please refer to the docstring of this method for more information.
102
+ """
103
+ return self.tokenizer.decode(*args, **kwargs)
special_tokens_map.json ADDED
@@ -0,0 +1,107 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "additional_special_tokens": [
3
+ "<extra_id_0>",
4
+ "<extra_id_1>",
5
+ "<extra_id_2>",
6
+ "<extra_id_3>",
7
+ "<extra_id_4>",
8
+ "<extra_id_5>",
9
+ "<extra_id_6>",
10
+ "<extra_id_7>",
11
+ "<extra_id_8>",
12
+ "<extra_id_9>",
13
+ "<extra_id_10>",
14
+ "<extra_id_11>",
15
+ "<extra_id_12>",
16
+ "<extra_id_13>",
17
+ "<extra_id_14>",
18
+ "<extra_id_15>",
19
+ "<extra_id_16>",
20
+ "<extra_id_17>",
21
+ "<extra_id_18>",
22
+ "<extra_id_19>",
23
+ "<extra_id_20>",
24
+ "<extra_id_21>",
25
+ "<extra_id_22>",
26
+ "<extra_id_23>",
27
+ "<extra_id_24>",
28
+ "<extra_id_25>",
29
+ "<extra_id_26>",
30
+ "<extra_id_27>",
31
+ "<extra_id_28>",
32
+ "<extra_id_29>",
33
+ "<extra_id_30>",
34
+ "<extra_id_31>",
35
+ "<extra_id_32>",
36
+ "<extra_id_33>",
37
+ "<extra_id_34>",
38
+ "<extra_id_35>",
39
+ "<extra_id_36>",
40
+ "<extra_id_37>",
41
+ "<extra_id_38>",
42
+ "<extra_id_39>",
43
+ "<extra_id_40>",
44
+ "<extra_id_41>",
45
+ "<extra_id_42>",
46
+ "<extra_id_43>",
47
+ "<extra_id_44>",
48
+ "<extra_id_45>",
49
+ "<extra_id_46>",
50
+ "<extra_id_47>",
51
+ "<extra_id_48>",
52
+ "<extra_id_49>",
53
+ "<extra_id_50>",
54
+ "<extra_id_51>",
55
+ "<extra_id_52>",
56
+ "<extra_id_53>",
57
+ "<extra_id_54>",
58
+ "<extra_id_55>",
59
+ "<extra_id_56>",
60
+ "<extra_id_57>",
61
+ "<extra_id_58>",
62
+ "<extra_id_59>",
63
+ "<extra_id_60>",
64
+ "<extra_id_61>",
65
+ "<extra_id_62>",
66
+ "<extra_id_63>",
67
+ "<extra_id_64>",
68
+ "<extra_id_65>",
69
+ "<extra_id_66>",
70
+ "<extra_id_67>",
71
+ "<extra_id_68>",
72
+ "<extra_id_69>",
73
+ "<extra_id_70>",
74
+ "<extra_id_71>",
75
+ "<extra_id_72>",
76
+ "<extra_id_73>",
77
+ "<extra_id_74>",
78
+ "<extra_id_75>",
79
+ "<extra_id_76>",
80
+ "<extra_id_77>",
81
+ "<extra_id_78>",
82
+ "<extra_id_79>",
83
+ "<extra_id_80>",
84
+ "<extra_id_81>",
85
+ "<extra_id_82>",
86
+ "<extra_id_83>",
87
+ "<extra_id_84>",
88
+ "<extra_id_85>",
89
+ "<extra_id_86>",
90
+ "<extra_id_87>",
91
+ "<extra_id_88>",
92
+ "<extra_id_89>",
93
+ "<extra_id_90>",
94
+ "<extra_id_91>",
95
+ "<extra_id_92>",
96
+ "<extra_id_93>",
97
+ "<extra_id_94>",
98
+ "<extra_id_95>",
99
+ "<extra_id_96>",
100
+ "<extra_id_97>",
101
+ "<extra_id_98>",
102
+ "<extra_id_99>"
103
+ ],
104
+ "eos_token": "</s>",
105
+ "pad_token": "<pad>",
106
+ "unk_token": "<unk>"
107
+ }
spiece.model ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:edc595fcd800672d6ef0e2aea5ba0f1dc8826471f6f40a87b70619dcc60ddd4a
3
+ size 1466734
tokenizer.json ADDED
The diff for this file is too large to render. See raw diff
 
tokenizer_config.json ADDED
@@ -0,0 +1,117 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "additional_special_tokens": [
3
+ "<extra_id_0>",
4
+ "<extra_id_1>",
5
+ "<extra_id_2>",
6
+ "<extra_id_3>",
7
+ "<extra_id_4>",
8
+ "<extra_id_5>",
9
+ "<extra_id_6>",
10
+ "<extra_id_7>",
11
+ "<extra_id_8>",
12
+ "<extra_id_9>",
13
+ "<extra_id_10>",
14
+ "<extra_id_11>",
15
+ "<extra_id_12>",
16
+ "<extra_id_13>",
17
+ "<extra_id_14>",
18
+ "<extra_id_15>",
19
+ "<extra_id_16>",
20
+ "<extra_id_17>",
21
+ "<extra_id_18>",
22
+ "<extra_id_19>",
23
+ "<extra_id_20>",
24
+ "<extra_id_21>",
25
+ "<extra_id_22>",
26
+ "<extra_id_23>",
27
+ "<extra_id_24>",
28
+ "<extra_id_25>",
29
+ "<extra_id_26>",
30
+ "<extra_id_27>",
31
+ "<extra_id_28>",
32
+ "<extra_id_29>",
33
+ "<extra_id_30>",
34
+ "<extra_id_31>",
35
+ "<extra_id_32>",
36
+ "<extra_id_33>",
37
+ "<extra_id_34>",
38
+ "<extra_id_35>",
39
+ "<extra_id_36>",
40
+ "<extra_id_37>",
41
+ "<extra_id_38>",
42
+ "<extra_id_39>",
43
+ "<extra_id_40>",
44
+ "<extra_id_41>",
45
+ "<extra_id_42>",
46
+ "<extra_id_43>",
47
+ "<extra_id_44>",
48
+ "<extra_id_45>",
49
+ "<extra_id_46>",
50
+ "<extra_id_47>",
51
+ "<extra_id_48>",
52
+ "<extra_id_49>",
53
+ "<extra_id_50>",
54
+ "<extra_id_51>",
55
+ "<extra_id_52>",
56
+ "<extra_id_53>",
57
+ "<extra_id_54>",
58
+ "<extra_id_55>",
59
+ "<extra_id_56>",
60
+ "<extra_id_57>",
61
+ "<extra_id_58>",
62
+ "<extra_id_59>",
63
+ "<extra_id_60>",
64
+ "<extra_id_61>",
65
+ "<extra_id_62>",
66
+ "<extra_id_63>",
67
+ "<extra_id_64>",
68
+ "<extra_id_65>",
69
+ "<extra_id_66>",
70
+ "<extra_id_67>",
71
+ "<extra_id_68>",
72
+ "<extra_id_69>",
73
+ "<extra_id_70>",
74
+ "<extra_id_71>",
75
+ "<extra_id_72>",
76
+ "<extra_id_73>",
77
+ "<extra_id_74>",
78
+ "<extra_id_75>",
79
+ "<extra_id_76>",
80
+ "<extra_id_77>",
81
+ "<extra_id_78>",
82
+ "<extra_id_79>",
83
+ "<extra_id_80>",
84
+ "<extra_id_81>",
85
+ "<extra_id_82>",
86
+ "<extra_id_83>",
87
+ "<extra_id_84>",
88
+ "<extra_id_85>",
89
+ "<extra_id_86>",
90
+ "<extra_id_87>",
91
+ "<extra_id_88>",
92
+ "<extra_id_89>",
93
+ "<extra_id_90>",
94
+ "<extra_id_91>",
95
+ "<extra_id_92>",
96
+ "<extra_id_93>",
97
+ "<extra_id_94>",
98
+ "<extra_id_95>",
99
+ "<extra_id_96>",
100
+ "<extra_id_97>",
101
+ "<extra_id_98>",
102
+ "<extra_id_99>"
103
+ ],
104
+ "auto_map": {
105
+ "AutoProcessor": "processing_veld.VELDProcessor"
106
+ },
107
+ "eos_token": "</s>",
108
+ "extra_ids": 100,
109
+ "model_max_length": 512,
110
+ "name_or_path": "checkpoints/veld_e1_linear",
111
+ "pad_token": "<pad>",
112
+ "processor_class": "VELDProcessor",
113
+ "sp_model_kwargs": {},
114
+ "special_tokens_map_file": null,
115
+ "tokenizer_class": "T5Tokenizer",
116
+ "unk_token": "<unk>"
117
+ }