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

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()

测试如图:

 

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 9
    评论
机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。它专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径。 随着统计学的发展,统计学习在机器学习中占据了重要地位,支持向量机(SVM)、决策树和随机森林等算法的提出和发展,使得机器学习能够更好地处理分类、回归和聚类等任务。进入21世纪,深度学习成为机器学习领域的重要突破,采用多层神经网络模型,通过大量数据和强大的计算能力来训练模型,在计算机视觉、自然语言处理和语音识别等领域取得了显著的成果。 机器学习算法在各个领域都有广泛的应用,包括医疗保健、金融、零售和电子商务、智能交通、生产制造等。例如,在医疗领域,机器学习技术可以帮助医生识别医疗影像,辅助诊断疾病,预测病情发展趋势,并为患者提供个性化的治疗方案。在金融领域,机器学习模型可以分析金融数据,识别潜在风险,预测股票市场的走势等。 未来,随着传感器技术和计算能力的提升,机器学习将在自动驾驶、智能家居等领域发挥更大的作用。同时,随着物联网技术的普及,机器学习将助力智能家居设备实现更加智能化和个性化的功能。在工业制造领域,机器学习也将实现广泛应用,如智能制造、工艺优化和质量控制等。 总之,机器学习是一门具有广阔应用前景和深远影响的学科,它将持续推动人工智能技术的发展,为人类社会的进步做出重要贡献。
好的,我可以为你提供一些关于使用Gradio实现CASREL模型界面设计的指导。 Gradio是一个用于构建自定义机器学习界面的库,它可以让你很方便地为你的模型创建一个交互式UI。接下来,我们将讨论如何使用Gradio来设计一个CASREL模型的UI界面。 首先,你需要安装Gradio库。你可以使用以下命令在终端中安装Gradio: ```python !pip install gradio ``` 接下来,你需要将你的CASREL模型包装在一个函数中,并将其与一个适当的输入和输出格式一起定义。例如,以下是一个输入为文本和输出为标签的函数: ```python import tensorflow as tf import numpy as np # 加载模型 model = tf.keras.models.load_model('casrel_model.h5') # 定义输入格式 input_text = gradio.inputs.Textbox(lines=5, label="输入文本") # 定义输出格式 output_label = gradio.outputs.Label(num_top_classes=3) # 定义模型预测函数 def predict(text): # 预处理输入文本 text = preprocess(text) # 生成模型输入 input_data = generate_input(text) # 进行模型预测 predictions = model.predict(input_data) # 获取预测结果 label = get_label(predictions) # 返回标签 return label # 运行应用 gradio.Interface(inputs=input_text, outputs=output_label, fn=predict).launch() ``` 在上面的代码中,我们定义了一个名为“predict”的函数,该函数接受一个文本输入并返回一个标签输出。我们还定义了一个名为“input_text”的输入格式,该格式允许用户在文本框中输入多行文本。我们还定义了一个名为“output_label”的输出格式,该格式显示模型预测的标签。最后,我们使用Gradio的“Interface”类来创建一个交互式UI,并将我们的“predict”函数传递给它。 这只是一个简单的示例,你需要根据你的CASREL模型的输入和输出格式来定义相应的输入和输出格式,以及相应的预测函数。 希望这些信息对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

寅恪光潜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值