File size: 1,089 Bytes
0d08077
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import gradio as gr
from PIL import Image

from model import GitBaseCocoModel


def generate_captions(
	image: Image,
	max_len: int = 50,
	num_captions: int = 1,
	):
	"""
	Generates captions for the given image.
	
	-----
	Parameters:
	image: PIL.Image
		The image to generate captions for.
	max_len: int
		The maximum length of the caption.
	num_captions: int
		The number of captions to generate.

	-----
	Returns:
	list[str]
	"""

	device = "cuda" if gradio.use_gpu else "cpu"
	checkpoint = "microsoft/git-base-coco"
	
	model = GitBaseCocoModel(device, checkpoint)

	caption = model.generate(image, max_len, num_captions)
	return caption


inputs = [
	gr.inputs.Image(type="pil", label="Image"),
	gr.inputs.Number(default=50, label="Maximum Caption Length"),
	gr.inputs.Number(default=1, label="Number of Captions to Generate"),
]
outputs = gr.outputs.Textbox()

title = "Git-Base-COCO Image Captioning"
description = "A model for generating captions for images."

gr.Interface(
	fn=generate_captions,
	inputs=inputs,
	outputs=outputs,
	title=title,
	description=description,
	).launch()