在 TensorFlow 打卡人生第一次 PR

先放上截图,庆祝本渣渣第一次为开源项目贡献自己的代码,撒花撒花 🍾🎊🍻🎉🎉🎉,嗯,竟然还是大名鼎鼎的 TensorFlow,虽然我只是做了些微不足道的贡献,但还是难掩心中的喜悦。

tensorflow_pr

tensorflow_pr

参与开源项目的想法由来已久,但一直以来觉得自己实力不够,还远远没有达到 contributor 的水平,这次能为 TensorFlow 社区提交代码也是刚好赶上毕业论文与 TensorFlow 有关,当时需要用到共轭梯度法,但是 TensorFlow 里的并不支持预处理,我就实现了一下提交了上去,从发起 pull request 到成功 merge 到 master 分支,大概一周的时间。虽然我添加50行左右,谷歌工程师还是提出了很多修改意见,印象特别深的是对于注释的要求,真的非常细致,逗号换成句号,增加一些我以为“没什么必要”的说明,不知道 rmlarson 大神会不会想“我自己现在来写一个可能还快点哈哈哈哈”。

从计算流体力学领域跨到机器学习,跨度不可谓不大,这一路走来非常感谢互联网行业的包容与开放,这也是我最喜欢这个行业的地方,尽管我本硕都不是 CS 相关专业的,但还是得到了不少互联网公司的认可,印象最深的是实习结束拿到转正 offer 后老大和我说“虽然你不是计算机专业的,但是我们更看好你,能达到与其他人一样的水平,说明你未来的潜力更大”。

自学机器学习的过程基本上以公开课+书+Kaggle 为主,辅以大神们的博客,长期受益于开源社区,当然也想着有朝一日能为这个社区做点什么,像我这样能力有限,经验不足但是又想为开源社区做点贡献的,最可行的方法就是向已有的项目提交代码。

刚开始觉得像 TensorFlow 这种大神们开发的项目我是没有什么机会参与的,其实不然,TensorFlow 虽然庞大但层次结构清晰,从硬件层到核心计算层再到 Python 的高级接口,总有你看得懂、能参与的地方,我这次的提交的代码就是建立在 Python 接口上的,TensorFlow 底层的实现我基本都没看过,但是这并不影响我参与到 TensorFlow 中。除此之外,像错别字修改、丰富文档这些工作也是开源项目的一部分,好的项目往往有着统一的代码风格和详实的文档资料,这些工作也需要我们的参与。