Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
AUTOMATIC1111
GitHub Repository: AUTOMATIC1111/stable-diffusion-webui
Path: blob/master/extensions-builtin/postprocessing-for-training/scripts/postprocessing_caption.py
2448 views
1
from modules import scripts_postprocessing, ui_components, deepbooru, shared
2
import gradio as gr
3
4
5
class ScriptPostprocessingCeption(scripts_postprocessing.ScriptPostprocessing):
6
name = "Caption"
7
order = 4040
8
9
def ui(self):
10
with ui_components.InputAccordion(False, label="Caption") as enable:
11
option = gr.CheckboxGroup(value=["Deepbooru"], choices=["Deepbooru", "BLIP"], show_label=False)
12
13
return {
14
"enable": enable,
15
"option": option,
16
}
17
18
def process(self, pp: scripts_postprocessing.PostprocessedImage, enable, option):
19
if not enable:
20
return
21
22
captions = [pp.caption]
23
24
if "Deepbooru" in option:
25
captions.append(deepbooru.model.tag(pp.image))
26
27
if "BLIP" in option:
28
captions.append(shared.interrogator.interrogate(pp.image.convert("RGB")))
29
30
pp.caption = ", ".join([x for x in captions if x])
31
32