2020年最有用的机器学习工具2020( 二 )


替代方案:Atom , Sublime
pytest框架使编写小型测试变得容易 , 但可以扩展以支持针对应用程序和库的复杂功能测试 。它节省了手动测试的大量时间 。如果您每次更改代码都需要测试某些东西 , 请使用Pytest将其自动化 。
备选:单元测试
CircleCiCircleCI是一个持续集成和部署工具 。当您提交到Github时 , 它将使用远程docker创建一个自动化的测试工作流 。Circle CI拒绝任何未通过PyTest设置的测试用例的提交 。这样可以确保代码质量 , 尤其是在与较大的团队合作时 。
备选方案:詹金斯 , 特拉维斯CI , Github Action
Heroku(仅当您需要网络托管时)平台即服务(PaaS) , 使开发人员可以完全在云中构建 , 运行和操作应用程序 。您可以与CircleCI和Github集成以启用自动部署 。
替代方案:Google App Engine , AWS Elastic Compute Cloud , 其他
Streamlit(仅在需要交互式UI时)Streamlit是面向机器学习和数据科学团队的开源应用程序框架 。近年来 , 它已成为我最喜欢的工具之一 。查看我如何使用它以及本节中的其他工具来创建电影和模拟应用程序 。
替代方案:Flask , Django , Tableau
3. iPad:探索工具Streamlit重新点亮忘了Jupyter Notebook 。是的 , 这是对的 。
Jupyter是我探索数据 , 进行分析以及尝试不同数据和建模过程的入门工具 。但我不记得有多少次:
· 我花了很多时间进行调试(并抽出头发) , 但最终意识到我忘了从头开始运行代码 。Streamlit解决了此问题 。
· 即使稍作更改 , 我也必须等待一段时间才能重新运行数据管道 。Streamlit缓存可解决此问题 。
· 我不得不将代码从Jupyter重写或转换为可执行文件 , 以及花在重新测试上的时间 。Streamlit提供了一个快捷方式 。
真令人沮丧 。因此 , 我使用Streamlit进行早期探索并为最终的前端服务-用一块石头杀死两只鸟 。以下是我的典型屏幕设置 。左侧为PyCharm IDE , 右侧为结果可视化 。试一试 。
2020年最有用的机器学习工具2020文章插图
> IDE (left) + live update with Streamlit (right), author's work from the Forgotten Algorithm
替代方案:Jupyter Notebook , Anaconda的Spyder , Microsoft Excel(严重)
4.刀具:机器学习框架就像使用实际的刀一样 , 您应该根据食物和切割方式选择合适的刀 。有通用刀和特种刀 。
要小心 。尽管寿司刀更加亮丽 , 但使用专用刀将寿司切成骨头将需要很长时间 。选择正确的工具来完成工作 。
Scikit-Learn(通用ML用例)在Python中进行常规机器学习的入门框架 。说够了 。
2020年最有用的机器学习工具2020文章插图
> Use Cases for Scikit-Learn, Source
备选方案:无 , 期限 。
PyTorch(深度学习用例)一个基于Torch库的开源机器学习库 。鉴于深度学习的重点 , 它主要用于计算机视觉和自然语言处理等应用 。它主要由Facebook的AI研究实验室(FAIR)开发 。最近 , 许多著名的AI研究机构 , 例如Open AI , 都使用PyTorch作为其标准工具 。
替代方案:Tensorflow , Keras , Fast.ai
开设AI Gym(强化学习用例)开发和比较强化学习算法的工具包 。它提供API和可视环境 。这是社区正在为其构建工具的活跃区域 。打包好的工具还不多 。
替代方案:许多小型项目 , 但维护得不如健身房 。
5.火炉:实验管理Atlas这是一个免费工具 , 可让数据科学家使用几个摘要进行实验并将结果显示在基于Web的仪表板上 。
2020年最有用的机器学习工具2020文章插图