File size: 1,294 Bytes
81d623f
f2e936c
 
9c167e4
81d623f
f2e936c
81d623f
f2e936c
 
 
 
 
 
 
150bfad
 
 
1146671
 
f2e936c
 
 
2b7826c
 
bbe6d77
2b7826c
 
 
9c167e4
f2e936c
150bfad
f2e936c
 
ab844dd
 
f2e936c
 
 
03561cc
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
40
41
42
43
44
45
46
import gradio as gr
import torch
import requests
import spaces

from PIL import Image

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

from huggingface_hub import whoami


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

import gradio as gr

model = PaliGemmaForConditionalGeneration.from_pretrained(model_id)
model.load_adapter(finetuned_model_id)
model.to('cuda')
    
processor = AutoProcessor.from_pretrained(model_id)

@spaces.GPU(duration=30)
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").to('cuda')
    output = model.generate(**inputs, max_new_tokens=125).to('cpu')
    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()