Python库是最受欢迎的机器学习


过去两年来,咱们一直经过发表博文的方式作这件事,指出当年 Python 社区中出现的一些最佳工做。如今,2017 年即将结束,又到了总结的时刻。python


可是此次开源库的评选限定在了机器学习的范围内。也许非机器学习库的大牛认为咱们有偏见,恳请大家原谅。很但愿读者在评论中对本文作出反馈,帮助咱们查缺补遗未收录的顶级软件。算法


所以,放轻松,让咱们开始吧!api


1. Pipenvapp


2017 年排名第一的 python 库非 Pipenv 莫属。它在今年初发行,但却影响了每一个 Python 开发者的工做流程,尤为是如今它成了用于管理依赖项的官方推荐工具。
框架


Pipenv 源自大牛 Kenneth Reitz 的一个周末项目,旨在把其余软件包管理器的想法整合进 Python。安装 virtualenv 和 virtualenvwrapper,管理 requirements.txt 文件,确保依赖项的依赖项版本的可复现性,以上这些通通不须要。借助 Pipenv,你能够在 Pipfile(一般使用添加、删除或更新依赖项的命令构建它)中指定全部你的依赖项。Pipenv 能够生成一个 Pipfile.lock 文件,使得你的构建成为决定性的,避免了寻找 bug 的困难,由于甚至你也不认为须要一些模糊的依赖项。机器学习


固然,Pipenv 还有不少其余特性,以及很好的文档,所以确保检查完毕,再开始在全部你的 Python 项目上使用它。分布式


2. PyTorch工具


若是有一个库在今年特别是在深度学习社区中大为流行,那么它极可能是 PyTorch。PyTorch 是 Facebook 今年推出的深度学习框架。性能


PyTorch 构建在 Torch 框架之上,并对这个(曾经?)流行框架作了改善,尤为是 PyTorch 是基于 Python 的,这与 Lua 造成鲜明对比。鉴于过去几年人们一直在使用 Python 进行数据科学研究,这为深度学习的普及迈出了重要一步。学习


最值得注意的是,因为其实现了全新的动态计算图(Dynamic Computational Graph)范式,PyTorch 成为了众多研究者的首选框架之一。当使用其余框架好比 TensorFlow、CNTK、MXNet 编写代码时,必须首先定义一个称之为计算图的东西。该图指定了由咱们的代码构建的全部操做与数据流,且它在构建完后会进行编译和利用框架潜在地优化,所以静态计算图能很天然地在 GPU 上实现并行处理。这一范式被称为静态计算图,它很棒,由于你能够利用各类优化,而且这个图一旦建成便可运行在不一样设备上(由于执行与构建相分离)。可是,在不少任务中好比天然语言处理中,工做量常常是变更的:你能够在把图像馈送至算法以前把其大小从新调整为一个固定的分辨率,可是相同操做不适用于语句,由于其长度是变化的。这正是 PyTorch 和动态图发挥做用的地方。经过在你的代码中使用标准的 Python 控制指令,图在执行时将被定义,给了你对完成若干任务来讲很关键的自由。


固然,PyTorch 也会自动计算梯度(正如你从其余现代深度学习框架中所指望的同样),这很是快,且可扩展,何不试一试呢?


3. Caffe2


也许这听起来有点疯狂,可是 Facebook 在今年也发布了另一个很棒的深度学习框架。原始的 Caffe 框架多年来一直被普遍使用,以无与伦比的性能和通过测试的代码库而闻名。可是,最近的深度学习趋势使得该框架在一些方向上停滞不前。Caffe2 正是一次帮助 Caffe 遇上潮流的尝试。



Caffe2 支持分布式训练、部署(甚至在移动端平台)和最新的 CPU、支持 CUDA 的硬件。尽管 PyTorch 更适合于研究,可是 Caffe2 适合大规模部署,正如在 Facebook 上看到的同样。


一样,查看最近的 ONNX 工做。你能够在 PyTorch 中构建和训练你的模型,同时使用 Caffe2 来部署!这是否是很棒?

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------