社区推送博客-机器学习插件项目
大家好!
这是 GSoC 2020 中的 Jenkins 项目之一。我们正在为此 GSoC 2020 使用此新的机器学习插件。这是我在社区关于 GSoC 2020 的故事。我很高兴与您分享我的旅程。
自我介绍和神奇的 4 位导师
我是 Moratuwa 大学的 Loghi Perinpanayagam。我被选为 Jenkins 的 GSoC 2020 机器学习插件的负责人。我很高兴向我的导师介绍这个项目。我分配了四位导师,他们非常热心地帮助我在今年夏天开发代码。
学生
- Loghi Perinpanayagam
导师
- Bruno P. Kinoshita
- Ioannis Moutsatsos
- Marky Jackson
- Shivay Lamba
去年我的准备情况如何?
我在第二年就了解了 GSoC 开源项目。但是我至少在去年尝试了另一个组织的项目,该项目与《数据科学的数据可视化建议》有关。但是问题是我的贡献不如今年那么大,在申请过程中为时已晚。像往常一样,与其他项目相比,与机器学习相关的项目有很多竞争。我准备学习机器学习中的数据可视化以及推荐系统的现有模型。最后,我当时用 SeqToSeq 模型编写了一个提案,当时对神经网络知识不多。而且我没有通过专用的闲暇渠道进行太多交流。这可能是失败的原因之一。但是主要原因是我对 GSoC 2019 的了解不多。
我如何跨过 GSoC 2020?
自从我意识到开源的必要性和对社区的帮助以来,我一直热衷于为开源项目做出贡献。实际上,我于 2019 年在印度班加罗尔完成了实习,我立即专注于参与 GSoC。这是我作为计算机科学理学学士学位课程的学生的最后一年(2020年),我希望今年能被选为学生。
我们部门举办了一次指导研讨会,我知道 Jenkins 已经打开了他们的项目构想。这是我的 GSoC 2020 旅程的一个非常令人印象深刻的开始。我在 jenkins.io 页面上浏览了所有草案并接受了项目。因为我已经对机器学习感兴趣,并且对 Java 很熟悉,所以我选择了最令人印象深刻的想法,因为它没有初始回购协议。这意味着我想利用我的知识对该项目进行很多思考和研究。但是我必须做出贡献,并且想了解 Jenkins 代码库的基础结构。因为这样可以使选择面板易于接洽该项目的学生。然后,我反复搜索为 Jenkins 做贡献。我发现从 git 插件和 git 客户端插件可以轻松解决的问题。我开始在 git 插件和 git 客户端插件上贡献一些测试问题。在清楚了解插件在 Jenkins 中的工作原理后,我开始使用项目构想页面中提供的提示来进行 POC 的工作。实际上,编写代码很有趣。
导师在申请过程中帮助了许多学生。我能够进行工作的 POC,但其执行项目任务的能力最低。最后,导师开始提交提案。我急忙准备提案草案。在得到导师的评价后,我开始改进提案。在提案提交结束时,我能够为该项目提交一个好的提案。当我对这个插件感到好奇时,我深入研究了如何将 Jupyter Notebook 与该插件集成。我在接受等待期间的研究结果发表了一篇中等文章。
结果发布
结果将于 5 月 4 日宣布,我相信我的项目建议和 POC,因此入选了 GSoC 2020。那是我一生中最激动人心的。这种感觉就像我实现的目标
。由于我的辛勤工作,我应得的。例如,我花了 7 天的时间使 POC 正常工作,而 Maven 工件之间没有任何冲突。
社区联结
结果发布后,我正在为社区联结做准备。我和导师之间的互动比以前更多了。我不得不在 jenkins.io 中更新项目页面和个人资料。5 月 10 日,我们第一次会面充满了热情和友爱。我和导师介绍了自己,尽管我们彼此认识。我们讨论了 GSoC 的高级观点,并提出了一些我观点中存在的问题。由于我的插件是一个新的存储库,因此大部分讨论都与该存储库及其名称有关。我必须为新插件找到一个名称。最后,我们定期讨论了博客文章和演示文稿。
在第二次会议上,我们讨论了在 Jenkins 中托管新插件,跟踪 JIRA 问题,博客文章和项目高级路线图的过程。我建议了一些有趣的插件名称,但它们与项目目标不符,导师告诉我尝试使用其他名称来完美描述项目。建议我阅读所有研究指南和插件命名约定。我们讨论了如何通过 git 完成代码审查和源代码管理。这次会议之后,我们的会议已转移到 Jenkins Zoom 的正式帐户。
我们的第三次会议对我们的项目计划非常认真。在开会之前,我一直在导师的帮助下为项目准备设计文件。因此,对于第 1 阶段的未来工作,我得到了很多评论和有用的示例。在这一点上,我们决定使用插件名称 Machine Learning Plugin
,该插件被所有导师接受,我创建了回购协议,并要求提供 Jira 单据进行插件托管请求。我们计划在未来 3 天内提醒您 Jira 单据。导师希望我确保在社区活动结束之前更新了 Jenkins GSoC 页面。关于会议上周我一直在准备的设计文件的讨论很多。会议记录中的一些要点如下:
- 在设计文档中定义特征
- 操作图
- 插件如何在分布式环境中工作
- 代码编辑器库
- 第一个插件版本的要求
- 博客文章草稿文件
- 下周我即将开展的工作计划
因此,在这次会议之后,我不得不努力工作,这使我更加深入参与了该项目。我必须付出巨大的努力才能使这个机会变成黄金。我们的团队愿意完成此项目,并且一定会通过此插件为 Data Science 社区提供帮助。到目前为止,我的团队所做的出色工作,对此我表示敬意!!!
到目前为止,这是我的整个旅程。希望您喜欢它,希望您了解我去年犯的错误,并在今年夏天纠正了错误。感谢您的阅读和关注,我将为感兴趣的人上传博客文章。