Zero-Shot Image Classification
Transformers
ONNX
Chinese
English
m2_encoder
feature-extraction
multimodal
image-text-retrieval
bilingual
chinese
english
vision-language
custom-code
custom_code
Eval Results (legacy)
Instructions to use malusama/M2-Encoder-1B with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use malusama/M2-Encoder-1B with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("zero-shot-image-classification", model="malusama/M2-Encoder-1B", trust_remote_code=True) pipe( "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/hub/parrots.png", candidate_labels=["animals", "humans", "landscape"], )# pip install -U transformers accelerate # Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("malusama/M2-Encoder-1B", trust_remote_code=True, device_map="auto") - Notebooks
- Google Colab
- Kaggle
Download vlmo/torchscale/architecture/encoder_decoder.py from malusama/M2-Encoder-1B: direct link, hf CLI and curl.
- Browser
- Download file 1.51 kB
-
https://huggingface.co/malusama/M2-Encoder-1B/resolve/main/vlmo/torchscale/architecture/encoder_decoder.py
- Command line
-
hf download hf://malusama/M2-Encoder-1B/vlmo/torchscale/architecture/encoder_decoder.py
-
curl -L -o encoder_decoder.py https://huggingface.co/malusama/M2-Encoder-1B/resolve/main/vlmo/torchscale/architecture/encoder_decoder.py
1.51 kB
| # Copyright (c) 2022 Microsoft | |
| # Licensed under The MIT License [see LICENSE for details] | |
| import torch.nn as nn | |
| from vlmo.torchscale.architecture.decoder import Decoder | |
| from vlmo.torchscale.architecture.encoder import Encoder | |
| class EncoderDecoder(nn.Module): | |
| def __init__( | |
| self, | |
| args, | |
| encoder_embed_tokens=None, | |
| encoder_embed_positions=None, | |
| decoder_embed_tokens=None, | |
| decoder_embed_positions=None, | |
| output_projection=None, | |
| **kwargs | |
| ): | |
| super().__init__() | |
| self.args = args | |
| if args.share_all_embeddings: | |
| args.share_decoder_input_output_embed = True | |
| self.encoder = Encoder(args, encoder_embed_tokens, encoder_embed_positions, is_encoder_decoder=True, **kwargs) | |
| if args.share_all_embeddings and decoder_embed_tokens is None: | |
| decoder_embed_tokens = self.encoder.embed_tokens | |
| self.decoder = Decoder( | |
| args, decoder_embed_tokens, decoder_embed_positions, output_projection, is_encoder_decoder=True, **kwargs | |
| ) | |
| def forward(self, src_tokens, prev_output_tokens, return_all_hiddens=False, features_only=False, **kwargs): | |
| encoder_out = self.encoder(src_tokens, return_all_hiddens=return_all_hiddens) | |
| decoder_out = self.decoder( | |
| prev_output_tokens, | |
| encoder_out=encoder_out, | |
| features_only=features_only, | |
| return_all_hiddens=return_all_hiddens, | |
| ) | |
| return decoder_out | |