云社区 博客 博客详情
云社区 博客 博客详情

【华为云-上云之路】CloudIDE实战AI换脸

胡琦 发表于 2020-06-02 16:41:44 06-02 16:41
胡琦 发表于 2020-06-02 16:41:44 2020/06/02
0
5

【摘要】 本文为作者参加【华为云-上云之路】活动的一篇作品,是关于CloudIDE实战AI换脸小项目,感谢支持!

本文首次发表于华为云社区ModelArts版块,主要是作者在学习使用AI开发平台ModelArts过程中的一些经验产出。此次要和大家分享的是如何基于CloudIDE实战ModelArts调试好的AI换脸小项目,想法和源码均来自华为云社区(PS:本文不涉及理论知识,作者也在学习中,期待大佬指导!)。

start.png
↑开局一张图,故事全靠编。

继上篇文章在ModelArts上实现了简单的AI换脸之后,我们又萌生了将代码迁移到DevCloud,通过CloudIDE对“云毕业照”生成的小项目进行开发调试,利用CloudIDE注册http/https端口的能力实现项目的在线运行,极大地改善了开发质量并提升了开发体验。本文主要是CloudIDE的一些基本操作的讲解,是对ModelArts的一些拓展,再一次验证了“ModelArts开发模型,CloudIDE调试开发,DevCloud部署上线”全链路开发的可行性。

准备

本文默认您已经注册了华为云账户,并且已领取相关优惠券。当然没有领到优惠券也没关系,目前有ModelArts免费算力和CloudIDE免费使用加持,而且
【2020华为云AI实战营】、【CloudIDE云上编码赚好礼】 等活动已经强势来袭,这也是学习全链路AI的大好时机。

Devcloud.png
DevCloudhttps://www.huaweicloud.com/devcloud/
DevCloud是集华为研发实践、前沿研发理念、先进研发工具为一体的研发云平台,面向开发者提供研发工具服务,让软件开发简单高效.涵盖了项目管理 ProjectMan、代码托管 CodeHub、流水线 CloudPipeline、代码检查 CodeCheck、编译构建 CloudBuild、云测 CloudTest、移动应用测试 MobileAPPTest、部署 CloudDeploy、发布 CloudRelease、CloudIDE、Classroom、开源镜像站 Mirrors等十余项功能和服务。


CloudIDEhttps://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会自动创建一个默认的项目,接下来我们需要做些初始化的工作,如删除这个默认的项目,拉取新的项目等等操作。如免费体验需排队,请耐心等候,另外初始化项目需要稍许时间,稍安勿躁。
createIDE.png

初始化项目

首先,我们要将默认的项目删掉,再拉取“云毕业照”生成小项目代码,这里我们会用到 Terminal工具,快捷键是 Ctrl + ~,或者在顶部的 Terminal选项选择 New Terminal。初始化项目的所有操作,我们都会在 Terminal工具执行。(PS:完成右侧任务可领取无门槛优惠券哦)
terminal.png

  1. 执行删库跑路专用命令行rm -rf *,删除默认项目
    rmrf.png

  1. 通过git clone https://gitee.com/hu-qi/face_swap_for_graduate拉取项目代码
    gitclone.png

  1. mv face_swap_for_graduate/* ./ && rm -rf ./face_swap_for_graduate将项目移动到工作区根路径并移除空目录
    mv.png

安装依赖

  1. 安装flask

    pip install flask

    flask.png

  1. 安装opencv-python

    pip install opencv-python opencv-python-headless opencv-contrib-python-headless

    opencv-python.png

  1. 安装dlib

    TRAVIS=true pip install cmake boost dlib -i https://pypi.tuna.tsinghua.edu.cn/simple

    dlib.png

  1. 安装image

    pip install image

    image.png

设置端口及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时点击右上角的按钮启动项目。
port.png

预览调试

portaccess.png
如果不出意外的话,我们扫码二维码或者点击Access就能打开一个新的页面,而这个页面就是我们“云毕业照”生成的首页,我们可以尝试上传一张免冠正脸照片,选择性别、学科点击提交,稍等片刻,AI合成的“云毕业照”就加载出来了。

test.png
testsuccess.png

有小伙伴吐槽我们页面太丑了,没关系,我们可以通过修改template目录下的index.html文件来进行美化,比如,我修改了页面的标题,增加了“hello”,然后刷新页面,我们会发现“hello”已经同步过去了,通过这样的方式我们可以修改整个页面,只要您喜欢,想做成多美的页面都可以。
testhello.png

总结

此次实践能得以成功完成,要感谢ModelArts社区的小伙伴以及华为云CloudIDE技术团队的大力支持。虽然实践整个流程下来,不到十几分钟,而为了这十几分钟,我们花了很多时间和精力去尝试。比如,在依赖安装这块,作为Python小白,我们踩很多坑,首先是opencv-python这个依赖的平台限制,arm架构的鲲鹏显然不是我们的首先,为了避免这个坑,我们还是毅然决然地选择了x86平台;其次是dlib这个依赖,我们通过先安装cmake、boost,再通过CloudIDE团队的技术支持,最终使用"TRAVIS=true" + 指定镜像的方式解决了dlib安装过程中CloudIDE掉线的问题。关于页面不是很美观的问题,我们相信评论区会有众多的大佬跃跃欲试一起来完善。最后,期待更多大佬的指导!感谢!


登录后可下载附件,请登录或者注册

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区),文章链接,文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:huaweicloud.bbs@huawei.com进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
评论文章 //点赞 收藏 5
点赞
分享文章到微博
分享文章到朋友圈

评论 (0)


0/1000
评论

登录后可评论,请 登录注册

评论

您还没有写博客的权限!

温馨提示

您确认删除评论吗?

确定
取消
温馨提示

您确认删除评论吗?

删除操作无法恢复,请谨慎操作。

确定
取消
温馨提示

您确认删除博客吗?

确定
取消

确认删除

您确认删除博客吗?

确认删除

您确认删除评论吗?

温馨提示

登录超时或用户已下线,请重新登录!!!

确定
取消