Model reference · open weights
Florence-2-ft is an open-weight language model from florence-community. Florence-2-base-ft (FP16) weighs 463 MB; the smallest configuration that runs it is RTX 3060 12 GB.
For self-hosting, compare this build's requirements below with the GPU you plan to rent.
Summary of the florence-community/Florence-2-base-ft model card, 2026-10-01
What it is
| Released by | florence-community |
|---|---|
| Released | 2025-09-11 |
| Parameters | 232M |
| VRAM | 463 MB for the weights |
What it runs on
How much memory each request adds isn't estimated yet for this architecture. The weights need at least the cards below, plus room for the context.
| Card | Weights alone |
|---|---|
| RTX 3060 12 GB | fits |
| RTX 4060 Ti 16 GB | fits |
| RTX 3090 24 GB | fits |
| RTX 4090 24 GB | fits |
| RTX 5090 32 GB | fits |
| L40S 48 GB | fits |
| A100 80 GB | fits |
| H100 80 GB | fits |
| RTX PRO 6000 Blackwell 96 GB | fits |
| DGX Spark (GB10) 128 GB unified | fits |
| H200 141 GB | fits |
| B200 180 GB | fits |
From the model card
[!NOTE] This is the repository for official transformers converted checkpoint of Microsoft's Florence model.
This is a continued pretrained version of Florence-2-large model with 4k context length, only 0.1B samples are used for continue pretraining, thus it might not be trained well. In addition, OCR task has been updated with line separator ('\n'). COCO OD AP 39.8
Florence-2 is an advanced vision foundation model that uses a prompt-based approach to handle a wide range of vision and vision-language tasks. Florence-2 can interpret simple text prompts to perform tasks like captioning, object detection, and segmentation. It leverages our FLD-5B dataset, containing 5.4 billion annotations across 126 million images, to master multi-task learning. The model's sequence-to-sequence architecture enables it to excel in both zero-shot and fine-tuned settings, proving to be a competitive vision foundation model.
Resources and Technical Documentation:
| Model | Model size | Model Description |
|---|---|---|
| Florence-2-base[HF] | 0.23B | Pretrained model with FLD-5B |
| Florence-2-large[HF] | 0.77B | Pretrained model with FLD-5B |
| Florence-2-base-ft[HF] | 0.23B | Finetuned model on a colletion of downstream tasks |
| Florence-2-large-ft[HF] | 0.77B | Finetuned model on a colletion of downstream tasks |
Use the code below to get started with the model.
import torch
import requests
from PIL import Image
from transformers import AutoProcessor, Florence2ForConditionalGeneration
model = Florence2ForConditionalGeneration.from_pretrained(
"florence-community/Florence-2-base-ft",
dtype=torch.bfloat16,
device_map="auto",
)
processor = AutoProcessor.from_pretrained("florence-community/Florence-2-base-ft")
url = "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/transformers/tasks/car.jpg?download=true"
image = Image.open(requests.get(url, stream=True).raw).convert("RGB")
task_prompt = ""
inputs = processor(text=task_prompt, images=image, return_tensors="pt").to(model.device, torch.bfloat16)
generated_ids = model.generate(
**inputs,
max_new_tokens=1024,
num_beams=3,
)
generated_text = processor.batch_decode(generated_ids, skip_special_tokens=False)[0]
image_size = image.size
parsed_answer = processor.post_process_generation(generated_text, task=task_prompt, image_size=image_size)
print(parsed_answer)
This model is capable of performing different tasks through changing the prompts.
First, let's define a function to run a prompt.
Here are the tasks Florence-2 could perform:
prompt = ""
run_example(prompt)
prompt = ""
run_example(prompt)
prompt = ""
run_example(prompt)
caption to phrase grounding task requires additional text input, i.e. caption.
Caption to phrase grounding results format: {'': {'bboxes': [[x1, y1, x2, y2], ...], 'labels': ['', '', ...]}}
task_prompt = ""
results = run_example(task_prompt, text_input="A green car parked in front of a yellow building.")
OD results format: {'': {'bboxes': [[x1, y1, x2, y2], ...], 'labels': ['label1', 'label2', ...]} }
prompt = ""
run_example(prompt)
Dense region caption results format: {'' : {'bboxes': [[x1, y1, x2, y2], ...], 'labels': ['label1', 'label2', ...]} }
prompt = ""
run_example(prompt)
Dense region caption results format: {'': {'bboxes': [[x1, y1, x2, y2], ...], 'labels': ['', '', ...]}}
prompt = ""
run_example(prompt)
prompt = ""
run_example(prompt)
OCR with region output format: {'': {'quad_boxes': [[x1, y1, x2, y2, x3, y3, x4, y4], ...], 'labels': ['text1', ...]}}
prompt = ""
run_example(prompt)
The following table presents the zero-shot performance of generalist vision foundation models on image captioning and object detection evaluation tasks. These models have not been exposed to the training data of the evaluation tasks during their training phase.
| Method | #params | COCO Cap. test CIDEr | NoCaps val CIDEr | TextCaps val CIDEr | COCO Det. val2017 mAP |
|---|---|---|---|---|---|
| Flamingo | 80B | 84.3 | - | - | - |
| Florence-2-base | 0.23B | 133.0 | 118.7 | 70.1 | 34.7 |
| Florence-2-large | 0.77B | 135.6 | 120.8 | 72.8 | 37.5 |
The following table continues the comparison with performance on other vision-language evaluation tasks.
| Method | Flickr30k test R@1 | Refcoco val Accuracy | Refcoco test-A Accuracy | Refcoco test-B Accuracy | Refcoco+ val Accuracy | Refcoco+ test-A Accuracy | Refcoco+ test-B Accuracy | Refcocog val Accuracy | Refcocog test Accuracy | Refcoco RES val mIoU |
|---|---|---|---|---|---|---|---|---|---|---|
| Kosmos-2 | 78.7 | 52.3 | 57.4 | 47.3 | 45.5 | 50.7 | 42.2 | 60.6 | 61.7 | - |
| Florence-2-base | 83.6 | 53.9 | 58.4 |
Quoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.