网页轻松展示CV、NLP模型,连你老爸都会操作 | 斯坦福出品
时间:2022-06-25
本文章向大家介绍网页轻松展示CV、NLP模型,连你老爸都会操作 | 斯坦福出品,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
晓查 发自 凹非寺 量子位 报道 | 公众号 QbitAI
“其实我是做机器学习模型的。”
“什么模型?拿出来给大家看看啊!”
如果你是一个机器学习(ML)程序员,向爸妈、亲友或者客户介绍自己的职业时,可能会遇到这样的尴尬。
现在有了斯坦福大学出品的Gradio,你真的可以把自己的ML模型“搬”出来了。
只需几行代码,你就可以创建一个简单的网页,即使完全不会代码的爸妈,也能用拖拽操作体验你的ML模型。
除此之外,Gradio还可以嵌入Jupyter和Colab笔记本、博客和网站,甚至能把截图放在研究论文里作为展示。
CV、NLP模型轻松搞定
Gradio允许用户通过拖拽本地图像、粘贴文本、拍照等方式获取输入,网页另一侧瞬间出现输出结果。
在电脑上手写一个数字,实现MNIST识别:
用电脑摄像头拍一张图,检测你现在的情绪:
你以为Gradio只能展示计算机视觉任务?No!NLP任务也OK:
最近,Gradio项目又上线了ML模型展示平台GradioHub,供所有开发者上传自己的模型。遗传特征预测、CT图像重建这类前沿研究任务都能这个聚合页面看到。
使用方法
Gradio的安装非常方便,一行pip代码即可:
pip install gradio
Gradio使用现成代码也很方便,只需加上几行代码就能在网页展示。这是一个使用Inception V3进行图像分类的例子:
import gradio
import tensorflow as tf
image_mdl = tf.keras.applications.inception_v3.InceptionV3()
io = gradio.Interface(inputs=”imageupload”, outputs=”label”, model_type=”keras”, model=image_mdl)
io.launch()
你也可以提供自己的模型,而不是上面的预训练模型,或者使用Keras之外其他类型的模型。
更改Interface中的input和output参数可以创建不同的接口。目前Gradio支持的输入格式有:手写板、上传图像、摄像头、文本,输出结果为标签或文字。
传送门
Gradio网站: https://gradio.app
源代码: https://github.com/gradio-app/gradio
— 完 —
- Java 集合系列02之 Collection架构
- 开发者需要掌握的JS事件
- Java 集合系列03之 ArrayList详细介绍(源码解析)和使用示例
- Kosaraju算法、Tarjan算法分析及证明--强连通分量的线性算法
- 关于curl网站运维与开发的那些事
- 并查集Union-find及其在最小生成树中的应用
- go 语言的库文件放在哪里?如何通过nginx代理后还能正确获取远程地址
- 离线Tarjan算法-最近公共祖先问题
- Java文件上传下载实训
- 【网络编程系列】二:socket通信原理及实践
- textrank算法原理与提取关键词、自动提取摘要PYTHON
- 【网络编程系列】一:字节顺序的大端与小端表示法
- Linux下的make命令用法
- 增量数据丢失的原因分析(三)(r8笔记第91天)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 如何造个android Flow流式响应的轮子
- Flutter混合开发详解
- Android 单双击实现的方法步骤
- Android多渠道打包时获取当前渠道的方法
- Flutter Dio二次封装的实现
- android开发通过Scroller实现过渡滑动效果操作示例
- Android9.0 静默安装源码的实现
- Flutter路由框架Fluro使用简介
- Android倒计时神器(CountDownTimer)
- Kotlin如何安全访问lateinit变量的实现
- Android实现加载对话框
- Android RecyclerView实现悬浮吸顶、分隔线、到底提示效果
- Android监听键盘状态获取键盘高度的实现方法
- android实现小音频频繁播放
- 每日一个知识点:什么时候会触发Full GC