Views
No views yet
liuhaotian/llava-v1.5-7b on ocr and object detection data using LoRA (adapter config at bottom) to improve OCR captioning abilities and bounding box generation.1import requests
2from PIL import Image
3
4import torch
5from transformers import AutoProcessor, LlavaForConditionalGeneration, BitsAndBytesConfig
6
7model_id = "nnethercott/llava-v1.5-7b-gpt4OCR-hfssssssssssssssssssssssssssssssss"
8
9prompt = "USER:<image>/ngenerate a descriptive caption for this image. ASSISTANT:"
10image_file = "https://adquick-public.imgix.net/landing+images/media_formats/billboard-carvana.png?auto=format"
11
12
13quantization_config = BitsAndBytesConfig(
14 load_in_4bit=True,
15 bnb_4bit_compute_dtype=torch.float16,
16 bnb_4bit_quant_type="nf4",
17 bnb_4bit_use_double_quant=False
18)
19
20model = LlavaForConditionalGeneration.from_pretrained(
21 model_id,
22 quantization_config = quantization_config,
23 torch_dtype=torch.float16,
24 low_cpu_mem_usage=True,
25)
26
27processor = AutoProcessor.from_pretrained(model_id)
28
29
30raw_image = Image.open(requests.get(image_file, stream=True).raw)
31inputs = processor(prompt, raw_image, return_tensors='pt').to(0, torch.float16)
32
33generation_kwargs = {
34 'max_new_tokens': 150,
35 'num_beams': 3,
36 'num_return_sequences': 1,
37 'do_sample': False
38}
39
40output = model.generate(**inputs, **generation_kwargs)
41print(processor.decode(output[0][len(processor.tokenizer.encode(prompt)):], skip_special_tokens=True))
42llava-hf/llava-1.5-7b-hf:A large billboard advertises a red sports car being transported by a tow truck.nnethercott/llava-v1.5-7b-gpt4OCR-hf:The image features a billboard advertisement for Carvana, showcasing a red sports car being transported on a flatbed truck, with the slogan "BUY YOUR NEXT CAR FROM YOUR COUCH" prominently displayed at the top. The Carvana logo is prominently featured in the center of the billboard, and the word "Carvana" is repeated at the bottom. The billboard is set against a clear blue sky.
1{
2 "auto_mapping": null,
3 "base_model_name_or_path": "liuhaotian/llava-v1.5-7b",
4 "bias": "none",
5 "fan_in_fan_out": false,
6 "inference_mode": true,
7 "init_lora_weights": true,
8 "layers_pattern": null,
9 "layers_to_transform": null,
10 "lora_alpha": 128,
11 "lora_dropout": 0.05,
12 "modules_to_save": null,
13 "peft_type": "LORA",
14 "r": 48,
15 "revision": null,
16 "target_modules": [
17 "down_proj",
18 "q_proj",
19 "v_proj",
20 "o_proj",
21 "k_proj",
22 "up_proj",
23 "gate_proj"
24 ],
25 "task_type": "CAUSAL_LM"
26}