【华为云-上云之路】CloudIDE实战AI换脸
本文首次发表于华为云社区ModelArts版块,主要是作者在学习使用AI开发平台ModelArts过程中的一些经验产出。此次要和大家分享的是如何基于CloudIDE实战ModelArts调试好的AI换脸小项目,想法和源码均来自华为云社区(PS:本文不涉及理论知识,作者也在学习中,期待大佬指导!)。
↑开局一张图,故事全靠编。
继上篇文章在ModelArts上实现了简单的AI换脸之后,我们又萌生了将代码迁移到DevCloud,通过CloudIDE对“云毕业照”生成的小项目进行开发调试,利用CloudIDE注册http/https端口的能力实现项目的在线运行,极大地改善了开发质量并提升了开发体验。本文主要是CloudIDE的一些基本操作的讲解,是对ModelArts的一些拓展,再一次验证了“ModelArts开发模型,CloudIDE调试开发,DevCloud部署上线”全链路开发的可行性。
准备
本文默认您已经注册了华为云账户,并且已领取相关优惠券。当然没有领到优惠券也没关系,目前有ModelArts免费算力和CloudIDE免费使用加持,而且
【2020华为云AI实战营】、【CloudIDE云上编码赚好礼】 等活动已经强势来袭,这也是学习全链路AI的大好时机。
DevCloud: https://www.huaweicloud.com/devcloud/
DevCloud是集华为研发实践、前沿研发理念、先进研发工具为一体的研发云平台,面向开发者提供研发工具服务,让软件开发简单高效.涵盖了项目管理 ProjectMan、代码托管 CodeHub、流水线 CloudPipeline、代码检查 CodeCheck、编译构建 CloudBuild、云测 CloudTest、移动应用测试 MobileAPPTest、部署 CloudDeploy、发布 CloudRelease、CloudIDE、Classroom、开源镜像站 Mirrors等十余项功能和服务。
CloudIDE: https://devcloud.cn-north-4.huaweicloud.com/cloudide/trial
CloudIDE是面向云原生的轻量级WebIDE,通过浏览器访问即可实现云端开发环境获取、代码编写、编译调试、运行预览、访问代码仓库、命令行执行等能力,同时支持丰富的插件扩展。目前支持Java、Python、JS/TS等多种语言。
创建免费体验的CloudIDE
登录华为云账号,打开CloudIDE免费体验专题页面,目前仅华北-北京一、华北-北京四、东北-大连这三个区域支持。这里以打开华北-北京四CloudIDE免费体验(https://devcloud.cn-north-4.huaweicloud.com/cloudide/trial)为例创建一个免费的CloudIDE实例。这里鉴于opencv-python这个库的限制,我们选用x86的CPU架构,所以我这这里选择**Quantum Computing这种实例进行体验,点击免费体验**CloudIDE会自动创建一个默认的项目,接下来我们需要做些初始化的工作,如删除这个默认的项目,拉取新的项目等等操作。如免费体验需排队,请耐心等候,另外初始化项目需要稍许时间,稍安勿躁。
初始化项目
首先,我们要将默认的项目删掉,再拉取“云毕业照”生成小项目代码,这里我们会用到 Terminal工具,快捷键是 Ctrl + ~,或者在顶部的 Terminal选项选择 New Terminal。初始化项目的所有操作,我们都会在 Terminal工具执行。(PS:完成右侧任务可领取无门槛优惠券哦)
执行删库跑路专用命令行
rm -rf *
,删除默认项目
通过
git clone https://gitee.com/hu-qi/face_swap_for_graduate
拉取项目代码
mv face_swap_for_graduate/* ./ && rm -rf ./face_swap_for_graduate
将项目移动到工作区根路径并移除空目录
安装依赖
安装flask
pip install flask
安装opencv-python
pip install opencv-python opencv-python-headless opencv-contrib-python-headless
安装dlib
TRAVIS=true pip install cmake boost dlib -i https://pypi.tuna.tsinghua.edu.cn/simple
安装image
pip install image
设置端口及http/https服务并启动
首先我们修改server.py文件中的app.run(host='0.0.0.0', port=8080, debug=True)
将port修改为8001~9000这个区间段的任意一个,当然要与右侧的Port External Access中设置的Port一致,点击OK启动注册http/https端口。然后确定当前文件选中server.py时点击右上角的▷按钮启动项目。
预览调试
如果不出意外的话,我们扫码二维码或者点击Access就能打开一个新的页面,而这个页面就是我们“云毕业照”生成的首页,我们可以尝试上传一张免冠正脸照片,选择性别、学科点击提交,稍等片刻,AI合成的“云毕业照”就加载出来了。
有小伙伴吐槽我们页面太丑了,没关系,我们可以通过修改template目录下的index.html文件来进行美化,比如,我修改了页面的标题,增加了“hello”,然后刷新页面,我们会发现“hello”已经同步过去了,通过这样的方式我们可以修改整个页面,只要您喜欢,想做成多美的页面都可以。
总结
此次实践能得以成功完成,要感谢ModelArts社区的小伙伴以及华为云CloudIDE技术团队的大力支持。虽然实践整个流程下来,不到十几分钟,而为了这十几分钟,我们花了很多时间和精力去尝试。比如,在依赖安装这块,作为Python小白,我们踩很多坑,首先是opencv-python这个依赖的平台限制,arm架构的鲲鹏显然不是我们的首先,为了避免这个坑,我们还是毅然决然地选择了x86平台;其次是dlib这个依赖,我们通过先安装cmake、boost,再通过CloudIDE团队的技术支持,最终使用"TRAVIS=true" + 指定镜像的方式解决了dlib安装过程中CloudIDE掉线的问题。关于页面不是很美观的问题,我们相信评论区会有众多的大佬跃跃欲试一起来完善。最后,期待更多大佬的指导!感谢!
- 点赞
- 收藏
- 关注作者
评论(0)