Spaces:
Runtime error
Runtime error
File size: 2,391 Bytes
a132cd5 87fbb40 a132cd5 87fbb40 1294bed a132cd5 2fccdeb 47d5255 a132cd5 e6bcb07 902daab 47d5255 902daab 47d5255 902daab 86aacbf e6bcb07 3b85849 e6bcb07 3b85849 86aacbf e6bcb07 30e61bd e6bcb07 8e52c5b e6bcb07 8e52c5b e6bcb07 59c8750 db61b46 e6bcb07 59c8750 |
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 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
import gradio as gr
import spaces
import torch
import os
from transformers import AutoProcessor, AutoModelForCausalLM
token=os.environ["TOKEN"]
model=os.environ["MODEL"]
processor = AutoProcessor.from_pretrained(model, token=token,trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(model,trust_remote_code=True,token=token,torch_dtype=torch.float16,device_map={"":0})
eos_token_id=processor.tokenizer.convert_tokens_to_ids("<|end|>")
@spaces.GPU
def compute(image, instruction, output_format):
instruction_str=f"{instruction}\n<|output_format|>\n{output_format}"
messages=[
{"role":"user","content":f"<|image_1|>\n{instruction_str}"}
]
prompt=processor.tokenizer.apply_chat_template(messages,add_generation_prompt=True,tokenize=False)
inputs = processor(prompt, [image],return_tensors="pt",max_length=4096*4,truncation=False,padding=False)
for k in inputs:
inputs[k]=inputs[k].to("cuda")
with torch.no_grad():
with torch.cuda.amp.autocast():
outputs = model.generate(**inputs,max_new_tokens=256,eos_token_id=eos_token_id)
outputs=outputs[0]
input_length=inputs["input_ids"].shape[-1]
outputs=outputs[input_length:]
out=processor.tokenizer.decode(outputs,skip_special_tokens=True)
return out
from examples import examples
""" demo = gr.Interface(
fn=greet,
inputs=[
gr.Image(type="pil", label="Image"),
gr.Text(label="Instruction"),
#r.TextArea(label="Output Format", placeholder="Specify the output format.")
],
outputs=gr.Text(),
examples=examples
) """
with gr.Blocks() as demo:
with gr.Row():
with gr.Column():
image = gr.Image(type="pil", label="Image")
instruction = gr.Text(label="Instruction")
output_format = gr.TextArea(label="Output Format", placeholder="Specify the output format.")
sub_btn=gr.Button(value="Run")
with gr.Column():
out = gr.Code(label="Output")
sub_btn.click(
compute,inputs=[image, instruction, output_format],outputs=out,api_name=False
)
with gr.Row():
examples=gr.Examples(examples,inputs=[image, instruction, output_format],outputs=out,fn=compute)
demo.launch(
show_api=False
) |