Spaces:
Running
on
Zero
Running
on
Zero
Doc
Browse files
app.py
CHANGED
|
@@ -12,12 +12,32 @@ from documentation import DOC_CONTENT
|
|
| 12 |
def auto_label(
|
| 13 |
image: Image.Image, imid: int, dataset: ImageDataset
|
| 14 |
) -> tuple[str, ImageDataset]:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 15 |
text = get_task_response("<MORE_DETAILED_CAPTION>", image)
|
| 16 |
ds = dataset.update_label(imid, text)
|
| 17 |
return text, ds
|
| 18 |
|
| 19 |
|
| 20 |
def label_changed(label: str, imid: int, dataset: ImageDataset) -> ImageDataset:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 21 |
return dataset.update_label(imid, label)
|
| 22 |
|
| 23 |
|
|
@@ -121,6 +141,15 @@ with gr.Blocks(title="Labelizer", fill_width=True) as demo:
|
|
| 121 |
|
| 122 |
@gr.render(inputs=[dataset, is_labeling_in_progress])
|
| 123 |
def render_grid(ds, is_labeling_in_progress):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 124 |
if not ds or len(ds.images) == 0:
|
| 125 |
gr.Markdown(DOC_CONTENT)
|
| 126 |
return
|
|
|
|
| 12 |
def auto_label(
|
| 13 |
image: Image.Image, imid: int, dataset: ImageDataset
|
| 14 |
) -> tuple[str, ImageDataset]:
|
| 15 |
+
"""Generate automatic label for a single image using AI model.
|
| 16 |
+
|
| 17 |
+
Args:
|
| 18 |
+
image: PIL Image to generate label for
|
| 19 |
+
imid: Image ID in the dataset
|
| 20 |
+
dataset: Current ImageDataset instance
|
| 21 |
+
|
| 22 |
+
Returns:
|
| 23 |
+
Tuple of (generated_label_text, updated_dataset)
|
| 24 |
+
"""
|
| 25 |
text = get_task_response("<MORE_DETAILED_CAPTION>", image)
|
| 26 |
ds = dataset.update_label(imid, text)
|
| 27 |
return text, ds
|
| 28 |
|
| 29 |
|
| 30 |
def label_changed(label: str, imid: int, dataset: ImageDataset) -> ImageDataset:
|
| 31 |
+
"""Handle label text change event for an image.
|
| 32 |
+
|
| 33 |
+
Args:
|
| 34 |
+
label: New label text
|
| 35 |
+
imid: Image ID in the dataset
|
| 36 |
+
dataset: Current ImageDataset instance
|
| 37 |
+
|
| 38 |
+
Returns:
|
| 39 |
+
Updated ImageDataset with new label
|
| 40 |
+
"""
|
| 41 |
return dataset.update_label(imid, label)
|
| 42 |
|
| 43 |
|
|
|
|
| 141 |
|
| 142 |
@gr.render(inputs=[dataset, is_labeling_in_progress])
|
| 143 |
def render_grid(ds, is_labeling_in_progress):
|
| 144 |
+
"""Render the image grid with labels and controls.
|
| 145 |
+
|
| 146 |
+
Args:
|
| 147 |
+
ds: Current ImageDataset instance
|
| 148 |
+
is_labeling_in_progress: Whether labeling is currently in progress
|
| 149 |
+
|
| 150 |
+
Returns:
|
| 151 |
+
None - renders UI components directly
|
| 152 |
+
"""
|
| 153 |
if not ds or len(ds.images) == 0:
|
| 154 |
gr.Markdown(DOC_CONTENT)
|
| 155 |
return
|