02-gradio应用分享


前言

分享自己的成果是一个与他人技术交流的重要手段。gradio允许开发者快速创建可与他人共享的web界面。


一、互联网分享

demo.launch(share=True)

这样,Gradio会在其服务器上创建一个临时的公共地址,格式类似于XXXXX.gradio.app,任何人都可以通过这个地址访问你的应用。这种方式的好处是它简单快捷,不需要复杂的配置或额外的服务器设置。但请注意,因为这是通过Gradio服务器的代理,所以响应时间可能比直接在本地运行慢。不氪金网址只能存在72小时。


二、Hugging Face托管(类似github代码托管)

Hugging Face 和 GitHub 是两个不同类型的平台,它们各自有不同的主要用途和功能。

GitHub:

  • 主要用途:GitHub 是一个代码托管和版本控制平台,主要用于软件开发项目。它提供了 Git 仓库托管服务,允许开发者存储、管理和跟踪代码变更。
  • 功能:GitHub 支持代码协作和代码审查,提供了分支、合并请求(Pull Request)、问题跟踪(Issue Tracking)等功能。它还提供了社交编程的特性,如关注、点赞和评论。
  • 应用范围:GitHub 适用于各种软件开发项目,包括网站、应用程序、游戏、框架和库等。

Hugging Face:

  • 主要用途:Hugging Face 是一个专注于自然语言处理(NLP)和机器学习模型的平台。它提供了一个模型库,其中包含大量预训练的模型,如 BERT、GPT、T5 等,以及相关的数据集和工具。
  • 功能:Hugging Face 允许用户分享和下载 NLP 模型和数据集,支持模型的托管和部署,提供了一个在线环境(Spaces)来展示模型的应用和交互式演示。
  • 应用范围:Hugging Face 主要用于自然语言处理和机器学习领域,适用于研究人员、开发者和数据科学家。

区别总结:

  • 用途和专注领域:GitHub 是一个通用的代码托管和协作平台,适用于各种软件开发项目。Hugging Face 则专注于 NLP 和机器学习模型的- 分享和部署。
  • 功能和服务:GitHub 提供了一套完整的版本控制和协作工具。Hugging Face 提供了模型和数据集的库,以及模型的展示和部署服务。
  • 应用范围:GitHub 的应用范围更广泛,涵盖了整个软件开发领域。Hugging Face 则主要服务于 NLP 和机器学习社区。
    简而言之,虽然 GitHub 和 Hugging Face 都提供了一定程度的代码和模型托管功能,但它们的主要用途、功能和应用范围有所不同。

如果想永久性地共享你的模型App,并且希望它更加稳定和专业,可以选择将Gradio应用部署到Hugging Face的Space托管空间。Hugging Face是一个知名的AI社区和平台,它提供了一个免费的服务,允许开发者托管他们的机器学习模型和应用。

部署步骤包括:

注册Hugging Face账号:https://huggingface.co/join
在Spaces创建你的项目:https://huggingface.co/spaces
按照创建的项目中的Readme文档操作,或手动编辑app.py和requirements.txt。

这里需要注意,要向Hugging Face添加SSH Key,主要用于建立一个安全的连接,允许你安全地将代码推送到Hugging Face的存储库。

SSH(Secure Shell)密钥对用于在客户端和服务器之间建立安全的连接。SSH密钥对包括两个密钥:一个公钥和一个私钥。公钥可以安全地分享给任何人,而私钥必须保密。当使用SSH密钥对进行认证时,服务器使用公钥对信息进行加密,而只有拥有对应私钥的客户端才能解密该信息,从而验证身份。

生成密钥对

注:这里介绍linux和macos系统,windows需要用git bash操作类似。

  1. 打开终端
  2. 生成密钥对:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

//如果你已经有密钥对,且想创建新的那么就下面这个命令
ssh-keygen -t rsa -b 4096 -C "your_email@example.com" -f ~/.ssh/id_rsa_new

-t rsa 指定密钥类型为RSA。
-b 4096 指定密钥长度为4096位,提高安全性。
-C 用于添加注释,通常是电子邮件地址,以便识别密钥的用途。

查找SSH公钥

cat ~/.ssh/id_rsa.pub            # Linux (然后手动复制输出)

添加公钥到远程仓库:登录到托管你代码的网站(如GitHub、GitLab、Bitbucket等),在账户设置或仓库设置中找到SSH密钥的部分,将复制的公钥粘贴到相应的字段并保存。
在这里插入图片描述然后就可以用git操作了!!!如何使用git请参看他人文章(或者我以后来填坑)


三、局域网分享

如果你仅希望在局域网内分享你的应用,可以通过设置server_name='0.0.0.0’来实现。这样做会使你的应用在本地网络内的其他设备上可见。

# 使用show_error=True在控制台显示错误信息。
demo.launch(server_name='0.0.0.0', server_port=8080, show_error=True)
  • server_name=‘0.0.0.0’:设置服务器监听所有网络接口,使应用在局域网内可见。
  • server_port=8080:设置应用监听的端口号为 8080。
  • show_error=True:如果设置为 True,则在控制台显示错误信息。这对于调试和开发很有帮助。

要分享应用,你需要知道你的计算机在局域网中的IP地址。通常,你可以在网络设置中找到这个信息。

简单解释网络设置:

当你在开发一个网络应用时,你可能希望在局域网(LAN)内与其他设备共享这个应用,以便其他设备可以访问和使用它。为了实现这个目的,你需要进行一些配置。

设置 server_name='0.0.0.0'
在网络应用的设置中,server_name 参数通常用于指定服务器监听的地址。默认情况下,这个地址可能被设置为 127.0.0.1localhost,这意味着应用只能在本机上访问。

  • 当你将 server_name 设置为 ‘0.0.0.0’ 时,你的应用会监听所有可用的网络接口。这意味着它不仅可以在本机上访问,还可以在局域网中的其他设备上访问。

知道你的计算机在局域网中的IP地址
为了让其他设备能够访问你的应用,你需要知道你的计算机在局域网中的IP地址。这个IP地址是你的计算机在局域网内的唯一标识。你可以通过以下几种方式找到这个IP地址:

  • Windows: 打开命令提示符(CMD)并输入 ipconfig。你会看到一个名为“IPv4 地址”的条目,它的值就是你的局域网IP地址。
  • Mac/Linux: 打开终端并输入 ifconfig(或在某些Linux发行版中使用 ip addr)。查找 inet 条目,它后面的数字就是你的局域网IP地址。

访问应用
一旦你知道了你的计算机的局域网IP地址,你就可以在局域网内的其他设备上通过这个地址访问你的应用了。例如,如果你的IP地址是 192.168.1.100,你的应用监听在端口 8080 上,那么你可以在浏览器中输入 http://192.168.1.100:8080 来访问你的应用。


四、密码验证

为了增强应用的安全性,Gradio允许你在应用访问前设置账户密码验证。这可以通过设置auth参数为一个包含用户名和密码的元组来实现。这种方式特别适合当你需要限制访问者访问你的应用时使用。

demo.launch(auth=("admin", "pass1234"))

参考文献:

  1. 深度之眼AI课程
  • 26
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值