社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Git

GitHub 上的大佬们打完招呼,会聊些什么?

Python爱好者社区 • 5 年前 • 685 次点击  


大家好,今儿有幸邀请到:Lanking 一位亚马逊 AI 软件工程师、开源爱好者和贡献者。他是亚马逊开源的 Java 深度学习框架 DJL 的核心维护者、Apache MXNet 的 Committer(提交者),一枚喜欢滑雪的大佬程序员。

下面就让这位大佬聊聊他在 GitHub 和一位项目作者互道“你好”后聊了些什么、搞出了什么好玩的东西~

一、故事的开头

我是 Lanking 一位 AI 软件工程师、《HelloGitHub 月刊》的读者,故事的开始是我们 DJL 项目:

https://github.com/awslabs/djl

正在找增强学习的例子,然后目前全网提供的方案也没什么 Java 的实现和实战项目。

偶然间,在程序员都爱看的《HelloGitHub 月刊》 最近的一期,看到了一个仅用 Java 基础类库写的愤怒小鸟开源游戏项目。

https://github.com/kingyuluk/FlappyBird

该项目结构十分清晰,代码也很规范,我感觉自己的某些东西被触动了。于是乎,我就给这个项目提了一个 issue:

如上图,我打完招呼就直切主题,说明我的来意:您有没有兴趣用 DJL 做一个 RL 的愤怒小鸟,就是用深度学习框架 DJL 赋予这个小鸟“永生”,做个“不死鸟”。

二、他不理我了

FlappyBird 项目的作者叫:kingyuluk(后面就称呼他为“K”)

Issue 是开发者之间有效的沟通手段,但我发完 issues 后,虽然 K 当时说感兴趣,然后就没然后了...过了差不多三个月,突然有一天,他回复了这个 issue:

K 说他在用 DJL 实现的过程中遇到了问题。原来他自己闷头去搞了,现在遇到问题才想起我!

哼~虽然等待有些难熬,但我还是开心地开始帮他看代码,最开始只是在这个项目里开了一个分支,但是后来越做改的东西越多,于是作者 K 就开了一个新的项目来做这件事情。

https://github.com/kingyuluk/RL-FlappyBird

三、办法总比困难多

我和 K 开始在新的项目进行正式开发,期间出现了各种波折和奇奇怪怪的问题:

从一开始项目跑不起来,到中间连续跑两天都没好效果,到最后在 GPU 上做性能优化改进。

眨眼两个月时间过去了,我很多次都担心 K 会半途而废,放弃不做了。因为这些对于一个大三刚接触 Java 半年的本科学生来说真的有些困难。

让我们继续开发下去的动力就是经过多次改动和优化之后,这个“笨”鸟终于能稍微变得聪明些了,但是离“不死”还差很远。然后我就拉来了同为 DJL 维护者的 Zach 他比我更懂 RL,来帮我们:

通过他的鼓励,并按照他的建议修改后,我们在 CPU 上训练的小鸟可以玩到 6-7 分。然后我们决定试试看 GPU,就开了一台带 T4 显卡的机器,然后跑了几个小时,感觉训练速度还是不够快。这可不行,我就想到了 HelloGitHub 的 Java 技术群的小伙伴们,他们甩了个表情后:

开始帮我解决相关的性能问题并提供了一些解决思路,在他们的认真回答和热心指导下,问题总算解决了!然后训练就变得快的飞起,几个小时就跑了 300 万步,最后这个不死鸟就诞生了!

详细的实现过程,会在本周的另外一篇文章《用 Java 训练出“不死鸟”》细细道来~

四、故事的结尾

这个故事起于一个 “Say hi” 的 issue,结束的时候我和项目的作者成为了朋友。开源都是用课余和休息时间,真的很容易半途而废。

契而不舍的精神是开源必备的精神,花几天、几周、几个月拼命的想把自己的开源项目做好,过程虽然很难,但是看到有人用、能够把自己想法展示在大家面前,就会感觉很开心,便觉得一切值了。

DJL 一直致力于发掘 Java 在深度学习领域的应用。我们会经常去思考,如何更好的将深度学习和 Java 结合在一起,希望我们的付出能够给开源社区带来不一样的东西!

感谢阅读

推荐阅读:

1:真实的上海IT圈:张江男vs漕河泾男

2:真实的北京IT圈:后厂村姑 vs 后厂村花?

3:为什么你的提问没人解答?

4:Python爱好者社区历史文章合集



重磅!Python 交流群已成立


公众号运营至今,离不开小伙伴们的支持。
为了给小伙伴们提供一个互相交流的技术平台,特地开通了Python交流群。
群里有不少技术大神,不时会分享一些技术要点,更有一些资源收藏爱好者不时分享一些优质的学习资料。(免费,不卖课!)
需要进群的朋友,可长按扫描下方二维码。


▲长按扫码

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/107590