gradio button的参数因为版本不同报错的解决方法(降版本)

部署masactrl的时候遇到错误:Traceback (most recent call last):
File "app.py", line 39, in <module>
create_demo_synthesis()
File "/root/autodl-tmp/MasaCtrl/gradio_app/image_synthesis_app.py", line 98, in create_demo_synthesis
run_btn = gr.Button(label="Run")
File "/root/miniconda3/envs/masa/lib/python3.8/site-packages/gradio/component_meta.py", line 167, in wrapper
return fn(self, **kwargs)
TypeError: init() got an unexpected keyword argument 'label'

是gradio版本问题,从4.44.1降到3.50.2就行了.

Gradio 是一个用于快速构建机器学习模型演示界面的 Python 库。它允许用户通过简单的 API 创建各种组件并实现它们之间的交互功能。下面详细介绍 `Button` 和 `Tabs` 的交互方式及其关联方法。 ### 1. **Gradio Button** - 按钮 (`gr.Button`) 主要用于触发某些事件或函数操作。通常按钮会绑定到某个特定的回调函数上,在点击时执行该函数。 #### 示例: ```python import gradio as gr def greet(name): return f"Hello {name}!" with gr.Blocks() as demo: name_input = gr.Textbox(label="Enter your name") btn = gr.Button("Submit") output_text = gr.Textbox(label="Output") # 将按钮与greet函数关联起来 btn.click(greet, inputs=name_input, outputs=output_text) demo.launch() ``` 在这个例子中,当用户输入名字并点击“提交”按钮后,将调用 `greet()` 函数,并把结果展示在输出框里。 --- ### 2. **Gradio Tabs** - 标签页 (`gr.Tabs`) 可以帮助组织应用的不同部分,每个标签代表一个独立的功能块或者视图。 #### 使用示例: ```python import gradio as gr def tab1_func(text): return text.upper() def tab2_func(num): return num * 2 with gr.Blocks() as demo: with gr.Tab("Tab 1"): input_txt = gr.Textbox(placeholder="Write something...") out_txt = gr.Textbox() btn_tab1 = gr.Button("Convert to Uppercase") btn_tab1.click(tab1_func, inputs=input_txt, outputs=out_txt) with gr.Tab("Tab 2"): number_slider = gr.Slider(minimum=0, maximum=100, step=1) result_number = gr.Number() btn_tab2 = gr.Button("Double the Number") btn_tab2.click(tab2_func, inputs=number_slider, outputs=result_number) demo.launch() ``` 这里创建了两个标签页。“Tab 1”的作用是转换文本为大写字母;而 “Tab 2” 则可以将滑动条选择的一个数字加倍显示出来。 --- ### 关联方法总结: - 要让 button 和 tabs 结合工作的话,需要明确指定哪个 component 属于哪一个 Tab 下面处理逻辑应该放在对应的 context 内部完成。 - 确保所有的交互都经过 `.click(fn,...)` 或者其他适当的 events 来注册正确的 handlers.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值