Gradio.Net 开发指南 -- 进度条使用
目录
进度条
使用方式
上一篇
Gradio.Net (https://github.com/feiyun0112/Gradio.Net)是一个开源的 .NET 库,它是 Gradio 的 .NET 移植版本,允许你为机器学习模型、API 或任何 C# 函数快速构建演示或 Web 应用程序,无需任何 JavaScript、CSS 或 Web 开发经验!
进度条
Gradio.Net 支持创建自定义进度条,让您可以灵活地向用户展示处理进度。
使用方式
只需在函数中添加一个类型为Progress(位于Gradio.Net.Core命名空间)且默认值为null的参数即可。然后通过调用该实例的方法来更新进度:
progress.Update(value, desc: "..."):用 0.0 到 1.0 之间的浮点数更新进度。
progress.Tqdm(iterable, desc: "..."):追踪可迭代序列的处理进度,并自动更新进度条。
using Gradio.Net; using Gradio.Net.Core; // 演示进度条功能:逐字符反转字符串,同时展示进度 string SlowlyReverse(string word, Progress? progress = null) { progress?.Update(0, desc: "Starting"); Thread.Sleep(1000); progress?.Update(0.05); string newString = ""; var letters = word.ToCharArray().Select(c => (object)c.ToString()).ToList(); var tracked = progress?.Tqdm(letters, desc: "Reversing") ?? (IEnumerable<object>)letters; foreach (var letter in tracked) { Thread.Sleep(250); newString = letter.ToString() + newString; } return newString; } using var demo = gr.Interface( fn: SlowlyReverse, inputs: gr.Textbox(label: "输入字符串", value: "Hello"), outputs: gr.Textbox(label: "反转结果"), apiName: "predict"); await demo.Launch();Gradio.Net 会自动检测函数签名中的Progress参数,并在调用时注入一个进度跟踪实例。函数无需额外配置即可享受进度条功能。
引入地址