Gradio机器学习模型快速部署工具应用分享前篇
作者:Livingbody 发布时间:2023-07-23 12:10:45
原文网址:gradio.app/sharing-you…
1.分享演示
share=True
通过在方法中设置,可以轻松公开分享 Gradio demo launch()
。像这样:
demo.launch(share=True)
会自动生成分享链接,是公网链接,默认3天有效期
**这会生成一个公共的、可共享的链接,您可以将其发送给任何人!当您发送此链接时,另一端的用户可以在他们的浏览器中试用该模型。因为处理发生在您的设备上(只要您的设备保持开启状态!),您不必担心任何打包任何依赖项。分享链接通常看起来像这样: **XXXXX.gradio.app。虽然链接是通过 Gradio URL 提供的,但我们只是您本地服务器的代理,不会存储通过您的应用发送的任何数据。
但是请记住,这些链接是可公开访问的,这意味着任何人都可以使用您的模型进行预测!因此,请确保不要通过您编写的函数暴露任何敏感信息,或让您的设备发生任何重大更改。如果您设置share=False
(默认设置,colab notebooks 除外),则只会创建一个本地链接,该链接可以通过 端口转发 与特定用户共享。
共享链接在 72 小时后过期。
2.在 HF Spaces 上托管
如果您想在互联网上拥有指向您的 Gradio 演示的永久链接,请使用 Hugging Face Spaces。Hugging Face Spaces提供了永久免费托管机器学习模型的基础设施!
您可以拖放一个包含您的 Gradio 模型和所有相关文件的文件夹,或者您可以将 Spaces 指向您的 Git 存储库,Spaces 将从那里拉取 Gradio 应用程序。有关详细信息,请参阅本指南如何在 Hugging Face Spaces 上主持。
3.嵌入托管空间
在 Hugging Face Spaces(或您自己的服务器)上托管您的应用程序后,您可能希望将演示嵌入其他网站,例如您的博客或您的作品集。嵌入交互式演示允许人们试用您构建的机器学习模型,而无需下载或安装任何东西——就在他们的浏览器中!最好的部分是您甚至可以在静态网站(例如 GitHub 页面)中嵌入交互式演示。
有两种方法可以嵌入您的 Gradio 演示。您可以直接在“拥抱面部空间”页面上的“嵌入此空间”下拉选项中找到这两个选项的快速链接:
4.嵌入 Web 组件
Web 组件通常为用户提供比 IFrame 更好的体验。Web 组件延迟加载,这意味着它们不会减慢您网站的加载时间,并且它们会根据 Gradio 应用程序的大小自动调整高度。
嵌入 Web 组件:
通过在您的站点中添加以下脚本,将 gradio JS 库导入到您的站点中(将 URL 中的 3.24.1 替换为您正在使用的 Gradio 库版本)。
<script type="module"
src="https://gradio.s3-us-west-2.amazonaws.com/3.24.1/gradio.js">
</script>
添加
<gradio-app src="https://$your_space_host.hf.space"></gradio-app>
您要放置应用程序的元素。将该属性设置src=
为您空间的嵌入 URL,您可以在“嵌入此空间”按钮中找到它。例如:
<gradio-app src="https://abidlabs-pytorch-image-classifier.hf.space"></gradio-app>
您可以在 Gradio 登录页面上查看 Web 组件外观示例。
您还可以使用传递给标记的属性自定义 Web 组件的外观和行为<gradio-app>
:
src
:正如我们所见,src
属性链接到您想要嵌入的托管 Gradio 演示的 URLspace
:如果您的 Gradio 演示托管在 Hugging Face Space 上,则为可选的速记。接受一个username/space_name
而不是完整的 URL。例子:gradio/Echocardiogram-Segmentation
。如果提供了此属性属性,则src
不需要提供。control_page_title
: 一个布尔值,指定页面的 html 标题是否应设置为 Gradio 应用程序的标题(默认情况下"false"
)initial_height
:加载 Gradio 应用程序时 Web 组件的初始高度(默认情况下"300px"
)。请注意,最终高度是根据 Gradio 应用程序的大小设置的。container
:是否显示边框和有关托管空间的信息(默认情况下"true"
)info
:是否仅显示有关空间在嵌入式应用程序下托管位置的信息(默认情况下"true"
)autoscroll
:预测完成后是否自动滚动到输出(默认情况下"false"
)eager
:是否在页面加载后立即加载 Gradio 应用程序(默认情况下"false"
)
下面是一个示例,说明如何使用这些属性创建一个不延迟加载且初始高度为 0px 的 Gradio 应用程序。
<gradio-app space="gradio/Echocardiogram-Segmentation" eager="true"
initial_height="0px"></gradio-app>
注意:虽然 Gradio 的 CSS 永远不会影响嵌入页面,但嵌入页面会影响嵌入的 Gradio 应用程序的样式。确保父页面中的任何 CSS 都不会过于通用,以至于它也可以应用于嵌入式 Gradio 应用程序并导致样式中断。诸如header { ... }
和 之类的元素选择器footer { ... }
最有可能导致问题。
来源:https://juejin.cn/post/7217244542080712761


猜你喜欢
- 使用xlrd模块和xlwt模块解题思想:xlwt模块是非追加写.xls的模块,所以要借助for循环和列表,来一次性写入,这样就没有追加与非追
- Gmail 作为一个经典的 Web 2.0 应用,在带来革命性的邮件管理体验的同时,以其完整、快速的 AJAX 操作方式,深受用户的推崇和技
- 本文实例讲述了JS获取日期的方法。分享给大家供大家参考,具体如下:原理很简单,一天的时间的毫秒数是1000*60*60*24,前n天的日期就
- 一、Pyeharts简介pyecharts 是一个用于生成 Echarts 图表的类库。用 Echarts 生成的图可视化效果很不错,pye
- 内容介绍将日常工作中遇到的数数据冲突和样本源的方法进行总结,其中主要包括实际业务数据冲突、样本选取问题、数据共线性 等思路,并且长期更新。实
- 本文通过一个csv实例文件来展示如何删除Pandas.DataFrame的行和列数据文件名为:example.csv内容为:datespri
- 最近拾回Django学习,实例练习中遇到了对多维字典类型数据的遍历操作问题,Google查询没有相关资料…毕竟是新手,到自己动手时发现并非想
- 实现一个mysql数据库封装需要考虑的问题1.使用方便性采用直接sql语句操作方式。只要会写sql语句,那么将没有其他学习成本。uctphp
- Pycharm本身并不带编译器,所以第一次用需要自己下载编译器插件。1、首先去 https://www.python.org/downloa
- 解决问题: 不使用for计算两组、多个矩形两两间的iou使用numpy广播的方法,在python程序中并不建议使用for语句,python中
- <%'============================================================
- 最近因需要用python写一个微服务来用MQTT给硬件传输图片,其中python用的是flask框架,大概流程如下:协议为:需要将图片数据封
- 以下就是php动态生成函数示例,示例中用到了eval函数,我感觉如果服务器上允许用户运行这样的函数是非常危险的<?$a['a&
- 下载python3.6.5安装包1. 上传安装包。打开终端,利用命令cd 进入文件所在文件夹里python@ubun
- 表格中我们经常需要动态加载数据, 如果有多个页面都需要用到表格, 那我希望可以有个组件, 只传数据过去显示, 不用每个页面都去写这么一段内容
- 在使用mysql运行某些语句时,会因数据量太大而导致死锁,没有反映。这个时候,就需要kill掉某个正在消耗资源的query语句即可,KILL
- 一、wxPython介绍 1.wxPython是Python语言的一套优秀的GUI图形库。wxPytho
- 官网下载就好, https://www.python.org/downloads/release/python-352/用installer
- Tornado 文档中提到但是这样只能捕获到handlers中列出的路径请求中的错误。如果只定义了(r"/hello",
- 需求:请求接口之后,缓存当前接口的数据,下次请求同一接口时拿缓存数据,不再重新请求添加缓存失效时间cache使用map来实现ES6 模块与