python系列&deep_study系列:Gradio中文教程(五)More on Examples




Gradio中文教程(五)More on Examples

更多关于示例

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

提供示例

正如在关键特性指南中所述,向接口添加示例就像向examples关键字参数提供一个列表的列表一样简单。每个子列表都是一个数据样本,其中每个元素对应于预测函数的输入。输入必须按照预测函数期望它们的顺序排列。

如果您的接口只有一个输入组件,那么您可以将示例作为常规列表而不是列表的列表提供。

从目录加载示例

您还可以指定包含您的示例的目录的路径。如果您的接口只接受单一文件类型输入,例如图像分类器,您可以简单地将目录文件路径传递给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,当您调用launch()方法时,您的Gradio应用程序将运行所有示例并保存输出。这些数据将默认保存在名为gradio_cached_examples的工作目录中。您还可以使用GRADIO_EXAMPLES_CACHE环境变量设置此目录,它可以是绝对路径或相对于您的工作目录的相对路径。

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

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

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







老刘

Gradio中文教程(五)More on Examples

posted @ 2024-06-13 12:14  坦笑&&life  阅读(12)  评论(0编辑  收藏  举报  来源