Upload processor
Browse files- image_preprocessing_molmo.py +4 -1
- preprocessing_molmo.py +8 -5
- preprocessor_config.json +4 -0
- processor_config.json +6 -0
- tokenizer_config.json +3 -0
image_preprocessing_molmo.py
CHANGED
@@ -563,4 +563,7 @@ class MolmoImageProcessor(BaseImageProcessor):
|
|
563 |
}
|
564 |
if image_masks is not None:
|
565 |
out["image_masks"] = image_masks
|
566 |
-
return out
|
|
|
|
|
|
|
|
563 |
}
|
564 |
if image_masks is not None:
|
565 |
out["image_masks"] = image_masks
|
566 |
+
return out
|
567 |
+
|
568 |
+
|
569 |
+
MolmoImageProcessor.register_for_auto_class()
|
preprocessing_molmo.py
CHANGED
@@ -4,6 +4,7 @@ Processor class for Molmo.
|
|
4 |
|
5 |
from typing import List, Union, Optional
|
6 |
|
|
|
7 |
|
8 |
try:
|
9 |
from typing import Unpack
|
@@ -24,7 +25,7 @@ from transformers.tokenization_utils_base import TextInput
|
|
24 |
from transformers.utils import logging
|
25 |
|
26 |
from transformers import AutoTokenizer
|
27 |
-
from
|
28 |
|
29 |
|
30 |
logger = logging.get_logger(__name__)
|
@@ -79,12 +80,13 @@ class MolmoProcessorKwargs(ProcessingKwargs, total=False):
|
|
79 |
|
80 |
class MolmoProcessor(ProcessorMixin):
|
81 |
attributes = ["image_processor", "tokenizer"]
|
82 |
-
image_processor_class = "
|
83 |
tokenizer_class = ("Qwen2Tokenizer", "Qwen2TokenizerFast")
|
84 |
|
85 |
def __init__(self, image_processor: MolmoImageProcessor = None, tokenizer : AutoTokenizer = None, **kwargs):
|
86 |
-
self.image_processor = image_processor
|
87 |
-
self.tokenizer = tokenizer
|
|
|
88 |
self._special_tokens = None
|
89 |
|
90 |
@property
|
@@ -169,4 +171,5 @@ class MolmoProcessor(ProcessorMixin):
|
|
169 |
|
170 |
return out
|
171 |
|
172 |
-
|
|
|
|
4 |
|
5 |
from typing import List, Union, Optional
|
6 |
|
7 |
+
from transformers.utils.constants import OPENAI_CLIP_STD, OPENAI_CLIP_MEAN
|
8 |
|
9 |
try:
|
10 |
from typing import Unpack
|
|
|
25 |
from transformers.utils import logging
|
26 |
|
27 |
from transformers import AutoTokenizer
|
28 |
+
from .image_preprocessing_molmo import MolmoImagesKwargs, make_batched_images, MolmoImageProcessor
|
29 |
|
30 |
|
31 |
logger = logging.get_logger(__name__)
|
|
|
80 |
|
81 |
class MolmoProcessor(ProcessorMixin):
|
82 |
attributes = ["image_processor", "tokenizer"]
|
83 |
+
image_processor_class = "AutoImageProcessor"
|
84 |
tokenizer_class = ("Qwen2Tokenizer", "Qwen2TokenizerFast")
|
85 |
|
86 |
def __init__(self, image_processor: MolmoImageProcessor = None, tokenizer : AutoTokenizer = None, **kwargs):
|
87 |
+
# self.image_processor = image_processor
|
88 |
+
# self.tokenizer = tokenizer
|
89 |
+
super().__init__(image_processor, tokenizer)
|
90 |
self._special_tokens = None
|
91 |
|
92 |
@property
|
|
|
171 |
|
172 |
return out
|
173 |
|
174 |
+
|
175 |
+
MolmoProcessor.register_for_auto_class()
|
preprocessor_config.json
CHANGED
@@ -1,4 +1,8 @@
|
|
1 |
{
|
|
|
|
|
|
|
|
|
2 |
"base_image_input_size": [
|
3 |
336,
|
4 |
336
|
|
|
1 |
{
|
2 |
+
"auto_map": {
|
3 |
+
"AutoImageProcessor": "image_preprocessing_molmo.MolmoImageProcessor",
|
4 |
+
"AutoProcessor": "preprocessing_molmo.MolmoProcessor"
|
5 |
+
},
|
6 |
"base_image_input_size": [
|
7 |
336,
|
8 |
336
|
processor_config.json
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"auto_map": {
|
3 |
+
"AutoProcessor": "preprocessing_molmo.MolmoProcessor"
|
4 |
+
},
|
5 |
+
"processor_class": "MolmoProcessor"
|
6 |
+
}
|
tokenizer_config.json
CHANGED
@@ -73,6 +73,9 @@
|
|
73 |
"<im_col>",
|
74 |
"<|image|>"
|
75 |
],
|
|
|
|
|
|
|
76 |
"bos_token": null,
|
77 |
"chat_template": "{% for message in messages %}{% if loop.first and messages[0]['role'] != 'system' %}{{ '<|im_start|>system\nYou are a helpful assistant<|im_end|>\n' }}{% endif %}{{'<|im_start|>' + message['role'] + '\n' + message['content'] + '<|im_end|>' + '\n'}}{% endfor %}{% if add_generation_prompt %}{{ '<|im_start|>assistant\n' }}{% endif %}",
|
78 |
"clean_up_tokenization_spaces": false,
|
|
|
73 |
"<im_col>",
|
74 |
"<|image|>"
|
75 |
],
|
76 |
+
"auto_map": {
|
77 |
+
"AutoProcessor": "preprocessing_molmo.MolmoProcessor"
|
78 |
+
},
|
79 |
"bos_token": null,
|
80 |
"chat_template": "{% for message in messages %}{% if loop.first and messages[0]['role'] != 'system' %}{{ '<|im_start|>system\nYou are a helpful assistant<|im_end|>\n' }}{% endif %}{{'<|im_start|>' + message['role'] + '\n' + message['content'] + '<|im_end|>' + '\n'}}{% endfor %}{% if add_generation_prompt %}{{ '<|im_start|>assistant\n' }}{% endif %}",
|
81 |
"clean_up_tokenization_spaces": false,
|