GitHub 上的大佬们打完招呼,会聊些什么?
你好 GitHub!每一位开源爱好者的好朋友「HelloGitHub」
大家好,今儿 HG 有幸邀请到: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 结合在一起,希望我们的付出能够给开源社区带来不一样的东西!
五、HG 想说的话
“做开源项目很难,做好更难,HG 愿陪你一起变好。“
我问 K 在收到 Lanking 大佬的 issue 时的感受,他说出乎意料,因为他觉得自己的 FlappyBird 只是一个很基础的项目,竟然收到来自亚马逊大佬的关注。
其实只要你的项目能让其它开源爱好者(大佬)看到闪光点和爱❤️,那么他们就愿意给出建议、贡献和指导,如此以往你的技术提高只是时间问题。
当然 HelloGitHub 月刊的收录和推荐也是很重要的一个原因呀!HelloGitHub 是每一位开源爱好者的好朋友,帮助优秀的开源项目被更多人发现和喜爱。
欢迎开源项目的作者们来 HG 分享自己做开源项目的故事,和 HG 互道“你好”后,会碰撞出什么样的火花呢?
GitHub 上的大佬们打完招呼,会聊些什么?相关推荐
- 【面试分享】GitHub上Star大佬是如何一举拿下7家一线互联网大厂的Offer
本文作者是牛客网知名大佬 CyC2018,在他的 GitHub 有一个高达 40K Star 的技术仓库(在所有仓库中排名前五十),可以说在开源项目方面是一骑绝尘的牛人.今天我们分享一下他的求职经历. ...
- B 站硬件大佬在 GitHub 上开源了一款神器
转自量子位 野生钢铁侠稚晖君在 GitHub 上开源了一个硬核项目. 上次自制纯手工打造 AI 小电视,播放量就超过 300 万,还登上了 b 站首页. 可能有些朋友对他还有点陌生. 他毕业于电子科大 ...
- B 站硬件大佬又在 GitHub 上开源了一款神器...
公众号关注 "GitHubDaily" 设为 "星标",每天带你逛 GitHub! 转自量子位 这次,野生钢铁侠稚晖君带着他的硬核项目又来了. 上次自制纯手工打 ...
- 我在 GitHub 上都见过哪些沙雕项目?
点击上方"方志朋",选择"设为星标" 做积极的人,而不是积极废人 一直对我们的微博保持关注的朋友应该知道,今年年初的时候,我们同时开通了 GitHubDaily ...
- 如何发现 GitHub 上那些有趣好玩的项目?
如果你是一名开发者,相信你对 GitHub 一定不会感到陌生,这个创建自 2008 的源码托管平台,现如今已成长为全球最大的开发者社区.来自世界各地的开发者每天都会在 GitHub 上面提交代码.合并 ...
- 分享GitHub上一些嵌入式相关的高星开源项目
关于GitHub,可能很多人误以为这是互联网人的专属,其实并不是,那上面嵌入式相关的开源项目是有很多的. 现分享一些高星开源项目(像RT-Thread.AWTK等大家都熟知的就不介绍了): Avem ...
- 【博客园2018总结帖】21天,在Github上获取 6300 star
大家好,我是程序员小吴.12月初我在GitHub上上传了一个仓库,到现在为止获取了 6300 star,下面和大家聊聊关于项目启动的初衷.面临的一些困难和未来的计划. 「LeetcodeAnimati ...
- 开源字体不香吗?五款 GitHub 上的爆红字体任君选
作者 | HelloGitHub-ChungZH 来源 | HelloGitHub(ID:gh_4fb030b35bb4) 在编程时,用一个你喜欢的字体可以大大提高效率,越看越舒服.这篇文章就推荐 5 ...
- 除了 996 ICU,GitHub 上还有哪些奇葩的项目?
作者 | Hollis 责编 | 胡巍巍 GitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名GitHub.是全球最大的同性交友网站,哦不,最大的程 ...
最新文章
- 第四范式变“硬”,联手浪潮推出AI一体机,挑战BAT
- 解决NGUI中sprite的边缘会出现黑线的问题
- 数据中心UPS电源节能降耗的四大原则
- 薏米红豆粥功效及做法介绍
- boost::gil模块临界点threshold的测试程序
- css 波纹扩散_html5 +css3 点击后水波纹扩散效果 兼容移动端
- Spring高级之注解@Bean详解(超详细)
- micropython 驱动oled0.91_[MicroPython]STM32F407开发板驱动OLED液晶屏
- linux sudo输入密码无法获得锁,Linux系统提示无法获得锁/var/lib/dpkg/lock怎么办?
- pythonclass使用教程_【Python 1-15】Python手把手教程之——详解类Class以及类的使用...
- Android好用的工具-监测,性能,网络等
- 【知识兔】Excel多级联动关联下拉菜单的制作,一看就会!
- 【西电—英美国家概况(英美概况/英美文化)2023第一学期】第十章参考课后答案
- 【kronecker积rao积,及其它矩阵运算的一些性质】
- STM32F407ZGT6|定时器中断
- listview 点击 item 字体变颜色
- 2012年度IT博客大赛50强报道:陈勇
- python做飞机大战游戏单机_Python制作简易版飞机大战小游戏
- 底盘电控系统仿真测试解决方案
- 《C语言程序设计》课程建设标准,《C语言程序设计》精品课程建设刍议
热门文章
- #分治#poj 2083 Fractal
- 56、基于51单片机 WiFi温湿度加四个继电器报警
- iphone13配什么蓝牙耳机最好?最适合苹果手机的蓝牙耳机推荐
- C#怎样解析.CSV文件同时把类转换成JSON
- java Eclipse 快捷键
- 普洛斯2020迄今光伏发电能力增长56%,中国市场光伏装机容量增加113%
- 查看及修改微软Edge浏览器用户数据保存位置(包括详细历史记录(页面停留时间,页面访问次数,最后访问时间,下载历史等),Cookie,书签等)
- 自动控制原理2.2---控制系统的复数域数学模型
- mysql:百度地图经纬度,按照经纬度坐标排序查询
- Java开源的CMS系统