机器学习工程师必备的工具
机器学习工程师必备的工具精选
从技术和生产力两方面
大约4年前,我从SAP顾问转行为数据科学家。在自己设计的课程上跟随后,我在一年内成功地获得了在初创生态系统中的机器学习工程师角色。
在这过去的四年里,要把我学到的知识,使用的工具和经验浓缩成一篇文章是不容易的。尽管如此,我将重点介绍那些对我特别有益的内容。
随着我的角色发展,我通过使用各种工具并遵循某些最佳实践来培养软件开发技能:
- Git和版本控制
- 编写可读和清晰的代码
- 探索不同的开发工具
我不仅会在本文中解释它们,还会提到它们如何帮助我提高软技能和工作效率。让我们开始吧 🚀
Git和版本控制
Git是一种广泛应用于软件开发的开源版本控制系统。它组织项目并管理在同一项目上工作的开发人员之间的协作。在我独自工作时,我没有使用Git;我是手动进行代码和笔记本的版本控制 🙃
当协作出现时,Git就成了必不可少的工具。它有助于跟踪项目的进展并促进协作。
这是一个庞大的学习主题,有很多优秀的资源可以参考(比如这个)。今天,我将专注于“commit”这个术语以及它是如何帮助我组织思维过程的。
Git commit就像在特定时刻对你的代码进行快照。
在我早期的学习中,我学到的第一个教训就是要有组织良好的Git commits和简明扼要的提交消息。
随后,我意识到提前考虑你的commits以及如何组织它们也有助于组织你的工作并用更好的逻辑模式设计你的代码。
这是我最近一个项目中如何组织Git commits的示例:
从协作的角度来看,拆分commits——使每个代码更改都只有一个目的——也将有助于你的同事更快地审查你的代码。
编写可读和清晰的代码
我的前任曾经告诉我,“就算是你的奶奶也应该能读懂你的代码”——免责声明:这并不是年龄歧视,而是要意味着每个人都应该能够轻松阅读和理解你的代码。
开玩笑的一边,通过在代码中反映你的思维过程并编写一个自解释的代码,将有助于任何人审查你的工作并更快地理解它。
我通过在工作中学习和阅读几本业界广泛使用的书籍,学会了如何编写可读和清晰的代码:
- Clean Code: A Handbook of Agile Software Craftsmanship by Robert C. Martin
- Philosophy of Software Design by John Ousterhout.
“所以如果你想快速前进,如果你想快速完成,如果你希望你的代码易于编写,那就让它易于阅读。”
Robert C. Martin。
以及来自我最近工作的这个实践的实现:
相信我,写可读和清晰的代码会使你未来的自己感激不已,不仅是你的团队!
探索不同的开发工具
当涉及到尝试机器学习模型或原型解决方案以测试其可行性时,使用笔记本通常是首选。
而Jupyter笔记本是一个很好的选择。
在担任机器学习工程师角色之前,我主要使用Jupyter笔记本来开展我的项目。当我之前的团队强制使用PyCharm时,我第一次接触到了集成开发环境(IDE)。
作为一名数据科学家,我主要使用一次性的笔记本解决方案,对PyCharm众多的功能和用户界面感到有些不知所措。
但随着时间的推移,PyCharm已经成为我第二天性的工具。
它的代码补全和错误突出显示功能已成为我的无可或缺的帮手,极大地提高了我的工作效率。
在IDE中掌握Git显著提高了我的工作组织能力,加快了我的编码速度,并使我能够更高效地专注于手头的任务。另外,当我数月后回顾代码时,我总是对自己写了干净的代码感到感激。
谢谢阅读!这篇博客文章对我来说非常特别。它标志着我回归博客和技术写作。