标记功能
Gradio 界面包含一个“标记”按钮,显示在输出下方。默认情况下,点击“标记”按钮会将输入和输出数据发送回运行 Gradio 演示的机器,并将其保存到 CSV 日志文件中。但此默认行为可以更改。要设置点击“标记”按钮时发生的操作,你需要将 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”或下一个可用编号。