Feature Extraction
Transformers
Safetensors
qwen3_5
image-text-to-text
multimodal-embedding
retrieval
evaluation
custom_code
Instructions to use woooooz/WeMM-Embedding-9B with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use woooooz/WeMM-Embedding-9B with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("feature-extraction", model="woooooz/WeMM-Embedding-9B", trust_remote_code=True)# pip install -U transformers accelerate # Load model directly from transformers import AutoProcessor, AutoModelForMultimodalLM processor = AutoProcessor.from_pretrained("woooooz/WeMM-Embedding-9B", trust_remote_code=True) model = AutoModelForMultimodalLM.from_pretrained("woooooz/WeMM-Embedding-9B", trust_remote_code=True, device_map="auto") - Notebooks
- Google Colab
- Kaggle
Download evaluation/vendor/transformers/quantizers/quantizers_utils.py from woooooz/WeMM-Embedding-9B: direct link, hf CLI and curl.
- Browser
- Download file 1.72 kB
-
https://huggingface.co/woooooz/WeMM-Embedding-9B/resolve/main/evaluation/vendor/transformers/quantizers/quantizers_utils.py
- Command line
-
hf download hf://woooooz/WeMM-Embedding-9B/evaluation/vendor/transformers/quantizers/quantizers_utils.py
-
curl -L -o quantizers_utils.py https://huggingface.co/woooooz/WeMM-Embedding-9B/resolve/main/evaluation/vendor/transformers/quantizers/quantizers_utils.py
1.72 kB
| # Copyright 2024 The HuggingFace Inc. team. All rights reserved. | |
| # | |
| # Licensed under the Apache License, Version 2.0 (the "License"); | |
| # you may not use this file except in compliance with the License. | |
| # You may obtain a copy of the License at | |
| # | |
| # http://www.apache.org/licenses/LICENSE-2.0 | |
| # | |
| # Unless required by applicable law or agreed to in writing, software | |
| # distributed under the License is distributed on an "AS IS" BASIS, | |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| # See the License for the specific language governing permissions and | |
| # limitations under the License. | |
| import re | |
| from typing import Any | |
| def get_module_from_name(module, tensor_name: str) -> tuple[Any, str]: | |
| if "." in tensor_name: | |
| module_name, tensor_name = tensor_name.rsplit(".", 1) | |
| module = module.get_submodule(module_name) | |
| return module, tensor_name | |
| def should_convert_module(full_name, patterns: list[str] | None = None): | |
| if patterns is None: | |
| return True | |
| # We should avoid converting in the following situations: | |
| # 1. The pattern appears as a prefix followed by a dot in `full_name` | |
| # (e.g., "model.decoder.layer.11." matches "model.decoder.layer.11.attn.weight"). | |
| # 2. The pattern matches `full_name` exactly or via regex | |
| # (e.g., "lm_head" matches "lm_head"; "model.decoder.layer.*" matches "model.decoder.layer.11.attn.weight"). | |
| # 3. `full_name` ends with the pattern | |
| # (e.g., "fc1" matches "model.decoder.layers.23.fc1"). | |
| should_not_convert = any( | |
| re.match(f"{key}\\.", full_name) or re.match(f"{key}", full_name) or full_name.endswith(key) | |
| for key in patterns | |
| ) | |
| return not should_not_convert | |