Gradio的web界面演示与交互机器学习模型,分享应用《3》

news2024/11/22 16:43:24

Gradio的web界面演示与交互机器学习模型,安装和使用《1》icon-default.png?t=N3I4https://blog.csdn.net/weixin_41896770/article/details/130540360
Gradio的web界面演示与交互机器学习模型,主要特征《2》icon-default.png?t=N3I4https://blog.csdn.net/weixin_41896770/article/details/130556692

前面2篇文章将Gradio的基本操作讲解完,里面有提到demo.launch(share=True)指定参数share=True就可以生成公共链接进行分享,如果没有参数就是本地链接,想要分享出去,就需要端口转发之类的操作,这里的公共链接有效时间只有72小时,那有没有一种长期的永久有效的链接呢?这节讲解在分享你的应用过程中遇到的一些相关知识。

1、Hugging Face托管

Hugging Face是全球各大AI企业训练ML模型的分享平台,我们进入站点 https://huggingface.co/ 可以先体验也可以先注册。

登录之后我们点击头像,下拉列表中点击“+ New Space”将来到创建新的空间页面,步骤跟github很类似,熟悉github的直接上手使用。Hugging Face中的一个聊天功能很不错,推荐使用,对于不想找梯子访问ChatGPT4的朋友来说,这个是免费的不需要翻墙的替代性产品:https://huggingface.co/chat/ 

当然这里如果是2vCPU,16G大小的是免费的,其余的CPU以及所有的GPU,都需要按小时付费!

创建好了空间,就会有提示方法,我们这里创建一个文件app.py,用前面章节的一个简单例子来测试下: 

import gradio as gr
 
def greet(name):
    return "你好," + name + "!"
 
demo = gr.Interface(fn=greet, inputs="text", outputs="text")
 
demo.launch()

测试如图:

这样所有人都可以进行永久性的访问了,而不需要像前面介绍的那种有72小时的限制,且需要自己的服务一直运行才行。

2、嵌入到网页

除了上面的链接分享之外,还可以在WEB页面进行嵌入
两种方法,一种是js调用;另一种是iframe框架嵌入
我们点击最右边的三个竖点,弹出列表中,点击“Embed this Space”

 js方法:

<script
	type="module"
	src="https://gradio.s3-us-west-2.amazonaws.com/3.28.3/gradio.js"
></script>

<gradio-app src="https://chyichin-aitest.hf.space"></gradio-app>

iframe方法:

<iframe
	src="https://chyichin-aitest.hf.space"
	frameborder="0"
	width="850"
	height="450"
></iframe>

还可以指定空间来嵌入:

<script
	type="module"
	src="https://gradio.s3-us-west-2.amazonaws.com/3.28.3/gradio.js"
></script>
<gradio-app space="chyichin/aitest" eager="true" initial_height="0px"></gradio-app>

这种方法还能够方便的让用户访问到你的Hugging Face空间(底部有链接指向你的空间)

3、验证身份 

如果只想让限定身份的人来测试的话,可以使用验证身份的操作,很简单,就是在launch函数里面加个参数auth=("用户名","密码")
demo.launch(auth=("admin", "pass1234"))
除了这种简单指定用户名和密码之外,还可以写个函数来判定验证的身份,比如:

def same_auth(username, password):
    return username == password
demo.launch(auth=same_auth)

用户名和密码一样就可以登录,当然这只是个范例,这个可以自己去定义,另外需要注意的是,这个需要在打开Cookies的环境才可以,比如是无痕模式的访问就没有用了。

4、访问网络请求 

有时候可能需要底层网络请求,以便获得请求头(例如用于高级身份验证),记录客户端的IP地址,或出于其他原因。Gradio以类似于FastAPI的方式支持此功能,只需添加一个类型提示为gr.Request的函数参数,然后Gradio将网络请求作为该参数传入。

import gradio as gr
 
def echo(name, request: gr.Request):
    if request:
        print("Request headers dictionary:", request.headers)
        print("IP address:", request.client.host)
    return name,request.client.host,request.headers

io = gr.Interface(echo, "textbox", ["textbox","textbox","textbox"]).launch()

测试如图:

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/509218.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

pywinauto使用教程

这里写自定义目录标题 引入pycharm项目新的改变功能快捷键合理的创建标题&#xff0c;有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants 创建一个自定义列表如何创建一个注脚注…

JDK的版本迭代(JDK9 - JDK20)

文章目录 1. 发布特点2. 名词解释Oracle JDK和Open JDKJEPLTS 3. 各版本支持时间路线图4. 各版本介绍jdk 9jdk 10jdk 11jdk 12jdk 13jdk 14jdk 15jdk 16jdk 17jdk 18jdk 19jdk 20 5. JDK各版本下载链接6. 应该如何学习新特性 1. 发布特点 发行版本发行时间备注Java 1.01996.01…

[Java]JavaWeb学习笔记(动力节点老杜2022)【Javaweb+MVC架构模式完结】

文章目录 &#x1f97d; 视频对应资料&#x1f97d; Tomcat服务器&#x1f30a; 下载与安装&#x1f30a; 关于Tomcat服务器的目录&#x1f30a; 启动Tomcat&#x1f30a; 实现一个最基本的web应用&#xff08;这个web应用中没有java小程序&#xff09; &#x1f97d; 静态资源…

(附源码)springboot学生宿舍管理系统 毕业设计 211955

摘 要 科技进步的飞速发展引起人们日常生活的巨大变化&#xff0c;电子信息技术的飞速发展使得电子信息技术的各个领域的应用水平得到普及和应用。信息时代的到来已成为不可阻挡的时尚潮流&#xff0c;人类发展的历史正进入一个新时代。在现实运用中&#xff0c;应用软件的工作…

人工智能AI到底能AI到什么程度?

作为引领新一轮科技革命和产业变革的重要驱动力&#xff0c;人工智能催生了大批新产品、新技术、新业态和新模式。日前&#xff0c;全新的聊天机器人模型ChatGPT因其强大的语言理解和文本生成能力&#xff0c;引发自“阿尔法狗”后大众对人工智能的第二波关注高潮。 据悉&…

Java笔记_14(集合进阶2)

Java笔记_14 一、双列集合1.1、Map的常见API1.2、Map遍历方式一&#xff08;键找值&#xff09;1.3、Map集合遍历方法二&#xff08;键值对&#xff09;1.4、Map集合遍历方法三&#xff08;lambda表达式&#xff09;1.5、HashMap1.6、HashMap练习1.7、HashMap底层源码解析1.8、…

【ChatGPT】ChatGPT+飞书,打造智能问答助手

Yan-英杰的主页 悟已往之不谏 知来者之可追 C程序员&#xff0c;2024届电子信息研究生 目录 前言 环境列表 视频教程 1.飞书设置 2.克隆feishu-chatgpt项目 3.配置config.yaml文件 4.运行feishu-chatgpt项目 5.安装cpolar内网穿透 6.固定公网地址 7.机器人权限配…

Unity本地化:添加多语言支持

文档&#xff1a;Quick Start Guide | Localization | 1.2.1 (unity3d.com) /**************************************************** 文件&#xff1a;LocaleSelector.cs 作者&#xff1a;Edision 日期&#xff1a;#CreateTime# 功能&#xff1a;语言本地化 *…

vue脚手架(vue-cli)详细安装过程

CLI&#xff0c;俗称脚手架。全称是Command Line Interface。 vue-cli 是vue官方发布的开发vue项目的脚手架。 vue脚手架用于自动生成vue和webpack的项目模板&#xff0c;是一个快速构建vue项目的工具&#xff0c;可以自动安装vue所需要的插件&#xff0c;避免手动安装各种插件…

camunda执行监听器和任务监听器有什么区别

Camunda的执行监听器和任务监听器是用于添加自定义逻辑的监听器&#xff0c;它们的区别在于作用对象和触发事件的不同。 执行监听器是与BPMN流程中的各种流程元素&#xff08;例如开始事件、用户任务、服务任务、网关等&#xff09;相关联的。执行监听器可以在流程元素执行前、…

德邦快递:逆境之下,让数字化辅助业务的利润增长

#01行业背景 2022年&#xff0c;我国快递业务量完成 1105.8 亿件&#xff0c;业务量连续 9 年位居世界第一&#xff0c;仅用七年时间&#xff0c;中国的快递行业就完成了从百亿到千亿的十倍增长。我国快递物流行业正从蓝海进入红海&#xff0c;在下半场激烈竞争中破局的关键在…

线上问题-CPU使用频率飙升

描述 中午收到群内人员反馈环境访问速度慢。登录验证码打不开等问题。通过查看日志发现是kafka出现问题&#xff0c;无法处理消息。联系运维解决。在排查的过程中使用mobaXterm连接服务器。左下角看到CPU使用频率非常高。于是记录一下通过CPU查看程序占用情况分析问题。 过程 …

各大厂与卡顿和ANR的战斗记录篇

作者&#xff1a;Drummor 1.1 认识ANR 1.1.1 系统如何处理ANR 设计原理和影响因素篇&#xff0c;主要对以下关键问题展开 ANR触发的条件以及根本原因发生ANR之后&#xff0c;系统处理ANR的流程。应用层如何判定ANR&#xff1a;对ANR的感知&#xff0c;通过监听SIGQUIT信号。…

直播合辑 | 微软ATP与您相约100场公益演讲

&#xff08;本文阅读时间&#xff1a;5 分钟&#xff09; Public100已历经了近一年的春夏秋冬&#xff0c;截止目前我们一共举办33场公益直播&#xff0c;由微软及合作伙伴中从事 AI 相关工作的工程师、产品经理、市场总监、运营经理等各类专家和学者&#xff0c;分享自己在学…

IPC机制之管道

每个进程各自有不同的用户地址空间&#xff0c;任何一个进程的全局变量在另一个进程中都看不到&#xff0c;所以进程之间要交换数据必须通过内核&#xff0c;在内核中开辟一块缓冲区&#xff0c;进程1把数据从用户空间拷到内核缓冲区&#xff0c;进程2再从内核缓冲区把数据读走…

一行代码绘制高分SCI火山图

一、概述 在近半年中&#xff0c;我读了很多的高分SCI文章&#xff0c;很多文章中都有多种不同的火山图&#xff0c;包括「普通的火山图、渐变火山图、以及包含GO通路信息的火山图」&#xff01; 经过一段时间的文献阅读和资料查询&#xff0c;终于找到了一个好用而且简单的包…

烽火HG680KA-Hi3798MV300-当贝纯净桌面-卡刷固件包

烽火HG680KA-Hi3798MV300-当贝纯净桌面-卡刷固件包-内有教程 特点&#xff1a; 1、适用于对应型号的电视盒子刷机&#xff1b; 2、开放原厂固件屏蔽的市场安装和u盘安装apk&#xff1b; 3、修改dns&#xff0c;三网通用&#xff1b; 4、大量精简内置的没用的软件&#xff…

乳杆菌属Lactobacillus——维持肠道和阴道健康不可忽缺的角色

谷禾健康 乳杆菌属&#xff08;Lactobacillus&#xff09;是厚壁菌门乳杆菌科下的一类革兰氏阳性菌&#xff0c;最早于19世纪在酸奶中发现。 乳杆菌在自然界中分布很广&#xff0c;在植物体表、乳制品、肉制品、葡萄酒、发酵面团、污水以及人畜粪便中&#xff0c;均可分离到。在…

dubbo高级特性分析

1.dubbo多协议支持 某些场景下&#xff0c;可能接口是使用的老的协议去发布的&#xff0c;此时希望接口能够以一种新的协议去发布&#xff0c;老的服务按照老的协议去调用&#xff0c;新的服务按照新的协议去调用 而dubbo服务就可以支持发布多种协议&#xff0c;如 dubbo / he…

c++入门第一篇

C 1 C是编译语言1.1 windows平台运行c1.2 linux平台运行c1.3 Clion和MinGW-w64&#xff08;编译器&#xff09;安装教程1.4 clion的使用教程1.5 c开发工具1.6 c发展应用领域1.7 c学习路线1.8 c学习资料1.9 编程界的四大派系 2 基本语法2.1 c程序各部分介绍2.2 编写C程序2.3 c第…