Flagging
Gradio 界面包括一个‘Flag’(标记)按钮,它出现在输出下方。默认情况下,单击“Flag”按钮会将输入和输出数据发送回运行 Gradio 演示的机器,并将其保存到 CSV 日志文件中。但是,此默认行为可以更改。要设置单击“Flag”按钮时发生的操作,请将 `FlaggingCallback` 子类的实例传递给 `Interface` 构造函数中的 `flagging_callback` 参数。您可以使用下面列出的 `FlaggingCallback` 子类之一,或者您可以创建自己的子类,这样您就可以随意处理被标记的数据。
SimpleCSVLogger
gradio.SimpleCSVLogger(···)
作为说明目的提供的 `FlaggingCallback` 抽象类的简化实现。每个被标记的样本(包括输入和输出数据)都会记录到运行 Gradio 应用的机器上的 CSV 文件中。
import gradio as gr
def image_classifier(inp):
return {'cat': 0.3, 'dog': 0.7}
demo = gr.Interface(fn=image_classifier, inputs="image", outputs="label",
flagging_callback=SimpleCSVLogger())
CSVLogger
gradio>=5.0 中 `FlaggingCallback` 抽象类的默认实现。每个被标记的样本(包括输入和输出数据)都会记录到运行 Gradio 应用的机器上的带有标题的 CSV 文件中。与 ClassicCSVLogger 不同,此实现是并发安全的,并且每当 CSV 标题(源自组件的标签)更改时,它都会创建一个新的数据集文件。它还仅在分别提供 `flag_option` 和 `username` 时才创建“username”和“flag”列。
import gradio as gr
def image_classifier(inp):
return {'cat': 0.3, 'dog': 0.7}
demo = gr.Interface(fn=image_classifier, inputs="image", outputs="label",
flagging_callback=CSVLogger())
🔗 simplify_file_data: bool
默认 = True
如果为 True,文件数据将在写入 CSV 文件之前被简化。如果使用 CSVLogger 来缓存示例,则此设置为 False 以保留原始 FileData 类。
🔗 verbose: bool
默认 = True
如果为 True,则向控制台打印有关数据集文件创建的消息。
🔗 dataset_file_name: str | None
默认 = None
要创建的数据集文件的名称(应以“.csv”结尾)。如果为 None,则数据集文件将被命名为“dataset1.csv”或下一个可用编号。