1. 构建界面
  2. 更多示例

有关示例的更多信息

上一指南中,我们讨论了如何为演示提供示例输入,以便用户更容易试用。在这里,我们将深入探讨更多细节。

提供示例

向 Interface 添加示例非常简单,只需向 `examples` 关键字参数提供一个列表的列表即可。每个子列表都是一个数据样本,其中每个元素对应于预测函数的一个输入。输入必须按照预测函数预期的顺序排列。

如果您的界面只有一个输入组件,则可以提供一个常规列表而不是列表的列表作为示例。

从目录加载示例

您还可以指定包含示例的目录路径。如果您的 Interface 只接受单个文件类型的输入,例如图像分类器,您可以简单地将目录文件路径传递给 `examples=` 参数,`Interface` 将加载目录中的图像作为示例。在有多个输入的情况下,此目录必须包含一个带有示例值的 log.csv 文件。对于计算器演示,我们可以设置 `examples='/demo/calculator/examples'`,并且在该目录中包含以下 `log.csv` 文件

num,operation,num2
5,"add",3
4,"divide",2
5,"multiply",3

这在浏览已标记数据时很有用。只需指向已标记目录,`Interface` 就会从已标记数据中加载示例。

提供部分示例

有时您的应用程序有许多输入组件,但您只想为其中的一部分提供示例。为了将某些输入排除在示例之外,请将对应于这些特定组件的所有数据样本设置为 `None`。

缓存示例

您可能希望提供一些模型的缓存示例供用户快速试用,以防您的模型运行时间较长。如果 `cache_examples=True`,您的 Gradio 应用程序将在您调用 `launch()` 方法时运行所有示例并保存输出。默认情况下,此数据将保存在工作目录中名为 `gradio_cached_examples` 的目录中。您也可以通过 `GRADIO_EXAMPLES_CACHE` 环境变量设置此目录,它可以是绝对路径,也可以是相对于工作目录的相对路径。

现在,每当用户点击一个示例时,输出将自动填充到应用程序中,使用来自此缓存目录的数据,而不是实际运行函数。这很有用,因此用户可以快速试用您的模型而不会增加任何负载!

或者,您可以设置 `cache_examples="lazy"`。这意味着每个特定的示例只会在首次被(任何用户)在 Gradio 应用程序中使用后才会被缓存。如果您的预测函数运行时间较长,并且您不想等待很长时间才能启动 Gradio 应用程序,这会很有帮助。

请记住,一旦生成了缓存,它在未来的启动中不会自动更新。如果示例或函数逻辑发生更改,请删除缓存文件夹以清除缓存,并通过另一次 `launch()` 重建它。

gradio