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()
中重新构建它。