File size: 1,206 Bytes
81d623f
f2e936c
 
81d623f
f2e936c
 
 
81d623f
f2e936c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
81d623f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import gradio as gr
import torch
import requests

from PIL import Image
from datasets import load_dataset
from peft import get_peft_model, LoraConfig

from huggingface_hub import create_repo
from transformers import Trainer
from transformers import TrainingArguments
from transformers import PaliGemmaProcessor
from transformers import BitsAndBytesConfig
from transformers import AutoProcessor, PaliGemmaForConditionalGeneration

model_id = "google/paligemma-3b-pt-224"
finetuned_model_id = "davidr99/finetuned_paligemma_blackjack"

model = PaliGemmaForConditionalGeneration.from_pretrained(model_id)
processor = AutoProcessor.from_pretrained(model_id)

import gradio as gr


def blackjack_ai(image):
    prompt = "<image><bos>extract json\n"
    image_file = Image.fromarray(image.astype('uint8'), 'RGB')
    inputs = processor(images=[image_file], text=prompt, return_tensors="pt")
    output = model.generate(**inputs, max_new_tokens=125)
    return processor.decode(output[0], skip_special_tokens=True)[14:]

with gr.Blocks() as demo:
    image = gr.Image()
    submit = gr.Button("Submit")
    output = gr.TextArea()

    submit.click(blackjack_ai, inputs=[image], outputs=[output])
    
demo.launch()