Gradio 是一个用于快速创建和分享机器学习模型交互界面的 Python 库。它允许开发者通过简单的代码构建用户友好的 Web 界面,方便用户与机器学习模型进行交互,而无需编写复杂的前端代码。Gradio 特别适合用于演示、测试和部署机器学习模型。
主要特点
- 简单易用:只需几行代码即可创建交互界面。
- 支持多种输入输出:支持文本、图像、音频、视频、表格等多种输入输出格式。
- 快速分享:可以生成可分享的链接,方便他人远程访问。
- 与主流框架兼容:支持 TensorFlow、PyTorch、Scikit-learn 等主流机器学习框架。
- 可嵌入:可以将界面嵌入到 Jupyter Notebook 或网页中。
安装
我在安装过程中一直提示安装失败, 最后换了一下解释器, 选择系统本地解释器, 换到 python3.13 版本, 然后安装成功了。
使用 pip 安装 Gradio:
pip install gradio
分享界面
Gradio 支持通过 share=True 参数生成一个公共链接,方便他人远程访问:
iface.launch(share=True)
适用场景
- 模型演示:快速展示机器学习模型的功能。
- 原型开发:在开发初期快速测试模型效果。
- 教学与学习:帮助学生或初学者理解模型的工作原理。
- 团队协作:方便团队成员测试和反馈模型。
Gradio 是一个功能强大且易于使用的工具,特别适合需要快速构建和分享机器学习模型交互界面的场景。
demo1
import gradio
def hello(name):
return f"Hello {name}"
demo = gradio.Interface(
fn = hello,
inputs = [
gradio.Text(label = '姓名', value = 'runningTurtle', lines = 5)
],
outputs = [
gradio.Text(label = '输出', lines = 5)
]
)
if __name__ == '__main__':
demo.launch()
demo2 女仆聊天机器人
import time
import gradio
# 调整页面宽度和占位
css = '''
.gradio-container { max-width: 850px !important; margin: 20px auto !important; }
.message { padding: 10px !important; font-size: 14px !important;}
'''
def talk(message, history):
pos = message.find('吗')
time.sleep(1)
if pos != -1:
return '喵呜,主人我已经' + message[:pos]
else:
return '喵呜,主人' + message
demo = gradio.ChatInterface(
css = css,
title = '女仆聊天机器人',
chatbot = gradio.Chatbot(height = 400, bubble_full_width = False),
theme = gradio.themes.Default(spacing_size = 'sm', radius_size = 'sm'),
textbox = gradio.Textbox(placeholder = '开始跟女仆聊天吧', container = False, scale = 7),
examples = ['你在干什么呢?', '摸摸头', '该做家务了'],
submit_btn = '发送命令',
fn = talk
)
if __name__ == '__main__':
demo.launch(debug = True)