--- license: mit datasets: - laion/laion2B-en - laion/laion-coco - laion/laion2B-multi - kakaobrain/coyo-700m - conceptual_captions - wanng/wukong100m pipeline_tag: image-feature-extraction --- # Model Card for InternVL-14B-224px
[\[๐ Blog\]](https://internvl.github.io/blog/) [\[๐ InternVL 1.0 Paper\]](https://arxiv.org/abs/2312.14238) [\[๐ InternVL 1.5 Report\]](https://arxiv.org/abs/2404.16821) [\[๐จ๏ธ Chat Demo\]](https://internvl.opengvlab.com/) [\[๐ค HF Demo\]](https://huggingface.co/spaces/OpenGVLab/InternVL) [\[๐ Quick Start\]](#model-usage) [\[๐ Community-hosted API\]](https://rapidapi.com/adushar1320/api/internvl-chat) [\[๐ ไธญๆ่งฃ่ฏป\]](https://zhuanlan.zhihu.com/p/675877376) | Model | Date | Download | Note | | ----------------------- | ---------- | ---------------------------------------------------------------------- | -------------------------------- | | InternViT-6B-448px-V1-5 | 2024.04.20 | ๐ค [HF link](https://huggingface.co/OpenGVLab/InternViT-6B-448px-V1-5) | support dynamic resolution, super strong OCR (๐ฅnew) | | InternViT-6B-448px-V1-2 | 2024.02.11 | ๐ค [HF link](https://huggingface.co/OpenGVLab/InternViT-6B-448px-V1-2) | 448 resolution | | InternViT-6B-448px-V1-0 | 2024.01.30 | ๐ค [HF link](https://huggingface.co/OpenGVLab/InternViT-6B-448px-V1-0) | 448 resolution | | InternViT-6B-224px | 2023.12.22 | ๐ค [HF link](https://huggingface.co/OpenGVLab/InternViT-6B-224px) | vision foundation model | | InternVL-14B-224px | 2023.12.22 | ๐ค [HF link](https://huggingface.co/OpenGVLab/InternVL-14B-224px) | vision-language foundation model | ## Model Details - **Model Type:** vision-language foundation model - **Support Tasks:** zero-shot image/video classification, image-text/video retrieval, image captioning - **Model Stats:** - Params: 14B - Image size: 224 x 224 - **Pretrain Dataset:** LAION-en, LAION-COCO, COYO, CC12M, CC3M, SBU, Wukong, LAION-multi ## Zero-Shot Performance See this [document](https://github.com/OpenGVLab/InternVL/tree/main/clip_benchmark#-evaluation-zero-shot-image-classification) for more details about the zero-shot evaluation. ![image/png](https://cdn-uploads.huggingface.co/production/uploads/64119264f0f81eb569e0d569/KfsrXioPU77T48sRb60oL.png) ![image/png](https://cdn-uploads.huggingface.co/production/uploads/64119264f0f81eb569e0d569/q5UkfrEix6w3mnn_1w4ja.png) ## Model Usage **Note: the prefix `'summarize:'` and `tokenizer.pad_token_id = 0` are necessary. Their absence will lead to abnormal results.** ```python import torch from PIL import Image from transformers import AutoModel, CLIPImageProcessor from transformers import AutoTokenizer model = AutoModel.from_pretrained( 'OpenGVLab/InternVL-14B-224px', torch_dtype=torch.bfloat16, low_cpu_mem_usage=True, trust_remote_code=True).cuda().eval() image_processor = CLIPImageProcessor.from_pretrained('OpenGVLab/InternVL-14B-224px') tokenizer = AutoTokenizer.from_pretrained( 'OpenGVLab/InternVL-14B-224px', use_fast=False, add_eos_token=True) tokenizer.pad_token_id = 0 # set pad_token_id to 0 images = [ Image.open('./examples/image1.jpg').convert('RGB'), Image.open('./examples/image2.jpg').convert('RGB'), Image.open('./examples/image3.jpg').convert('RGB') ] prefix = 'summarize:' texts = [ prefix + 'a photo of a red panda', # English prefix + 'ไธๅผ ็็ซ็็ ง็', # Chinese prefix + 'ไบๅนใฎ็ซใฎๅ็' # Japanese ] pixel_values = image_processor(images=images, return_tensors='pt').pixel_values pixel_values = pixel_values.to(torch.bfloat16).cuda() input_ids = tokenizer(texts, return_tensors='pt', max_length=80, truncation=True, padding='max_length').input_ids.cuda() # InternVL-C logits_per_image, logits_per_text = model( image=pixel_values, text=input_ids, mode='InternVL-C') probs = logits_per_image.softmax(dim=-1) # tensor([[9.9609e-01, 5.2185e-03, 6.0070e-08], # [2.2949e-02, 9.7656e-01, 5.9903e-06], # [3.2932e-06, 7.4863e-05, 1.0000e+00]], device='cuda:0', # dtype=torch.bfloat16, grad_fn=