背景
问题引入
你是否遇到过这样的情形:开发好了自己的网页应用,但是苦于手头没有云服务器,或是有云服务器但是环境搭建起来太麻烦,最终导致无法给朋友们展示?
那我就要向你推荐 Hugging Face 了!
Hugging Face 简介
Hugging Face 是一个以自然语言处理(NLP)为主的人工智能公司,提供开源工具和平台,旨在推动机器学习和 NLP 技术的发展。Hugging Face 有一个 Spaces 在线平台,用于创建和分享机器学习应用。用户可以构建、测试和展示自己的模型和应用程序,支持多种机器学习框架和库。
Hugging Face 致力于简化和加速 NLP 技术的应用,推动开源和社区驱动的创新。
注册与搭建
注册并获取Access Tokens
- 进入Hugging Face官网按正常流程进行注册
- 注册完成后,先不要按照自动跳转的官方教程进行部署
- 进入以下链接:获取Access Tokens
点击左上角 Create new token 按钮,并选择 Write 权限,确定。
此时,一定要好好保存你的Access Tokens,这个私钥不会在远程服务器存储,如果忘记或者丢掉就只能重新获取一个了。使用 HuggingFace CLI 从本地创建远程网页应用
在你开发当前应用时使用的python环境中下载 HuggingFace Hub:
pip install huggingface_hub
运行以下命令,使用CLI登录HugginFace账号:
huggingface-cli login
在其中粘贴你刚才获取的
Access Tokens
。如果一切顺利,现在就已经登录上了。使用以下指令创建远程仓库:
huggingface-cli repo create 你的仓库名 --type space --space-sdk {gradio} -y
其中,--type space是说创建了一个space仓库,用来发布网页。--space-sdk {gradio} 是说该网页应用使用Gradio构建。如果你使用streamlit或其他构建,可以修改成你需要的({gradio,streamlit,docker,static},可以多选),也可以不写这一条,随后配置。
创建成功后,找一个合适的目录,将仓库克隆至本地:
git clone http://huggingface.co/spaces/你的名字/你的仓库名
如果你是在
C:\WorkSpace
运行的该指令,那么仓库目录将会被下载到C:\WorkSpace\你的仓库名
。使用cd命令进入你的仓库,会发现当前目录一共有两个文件,分别是 READEME.md 和 .gitattributes。- 现在,你可以把你先前的项目文件目录复制进来了。不过要注意的是,项目的入口文件一定要是根目录下的 app.py,才能在上传时自动构建。你可能需要稍作修改。
在上传至space之前,你还需要生成一份 requirements.txt 依赖文件。如果你还没有生成,推荐使用 pipreqs 工具自动生成。在工作目录下执行:
pip install pipreqs pipreqs ./ # 在当前目录自动搜寻依赖,不需要指定入口文件
现在,自动生成的requirements.txt应该已经在你的目录下了。
在上传至space之前,推荐创建一份 .gitignore 文件,避免将目录下一些编译缓存或不必要的垃圾文件上传。一份 .gitignore 文件的示例如下:
# all .DS_Store Thumbs.db *.log *.tmp *.swp *.swo *.bak # Python __pycache__/ *.pyc *.pyo *.pyd env/ venv/ *.env # Visual Studio Code .vscode/ # macOS .DS_Store # Windows Thumbs.db desktop.ini # Custom
在一切都准备妥当后,使用以下git命令上传至space。上传之前一定要留意上传的文件中没有你的个人信息。
git add * git commit -m "first commit" git push
这时,打开 http://huggingface.co/spaces/你的名字/你的仓库名 ,应该就可以看到应用程序在构建了。
- 如果出现在构建中报错,或过程中哪一步卡住,可以在评论区留言或直接邮件联系我,或查阅官方文档寻找解决方案。
评论 (0)