5 个开源 Python 库,让机器学习更简单
m645218h88
8年前
<p>机器学习令人兴奋,但实际操作却很困难也很复杂。它涉及到很多手动操作,如集合工作流和管道,设置数据源,以及在内部部署与云部署的资源之间切换等。</p> <p>Python 是一款强大的工具语言,被广泛应用在大数据和机器学习之中。以下推荐了 5 个 Python 库,帮你疏通机器学习之路。</p> <h3><a href="/misc/goto?guid=4959741070298020292" rel="nofollow,noindex"><strong>PyWren</strong> </a></h3> <p>PyWren 允许你将基于 Python 的科学计算工作负载作为多个 AWS Lambda 函数来运行。The New Stack 上一份对该项目的描述是,使用 AWS Lamba 作为强大的并行处理系统,处理可以切分为多个小任务的项目,从而不用占据大量的内存或存储空间。</p> <p>此项目有个缺点是 lambda 函数运行不能超过 300 秒。但如果是一份只需几分钟就能完成的工作,并且要在数据集中运行上千次,那 PyWren 会是不错的选择,它能在一定程度上将用户硬件上无法运行的工作平行化至云端。</p> <h3><a href="/misc/goto?guid=4959741070384303009" rel="nofollow,noindex"><strong>Tfdeploy</strong> </a></h3> <p style="text-align:center"><img src="https://simg.open-open.com/show/3b3915164381619d36e5f5443cf98ea2.png"></p> <p>Google 的 TensorFlow 框架在发布了 1.0 版本之后进入辉煌时期,这时人们要问了:如何才能在不使用 TensorFlow 本身的情况下,使用在 TensorFlow 上训练的模型?</p> <p>Tfdeploy 能给你答案。它将经过训练的 TensorFlow 模型导出为“简单的基于 NumPy 的可调用对象”,即该模型可以在 Python 中使用,并以 Tfdeploy 和 NumPy math-and-stats 库为唯一的依赖关系。大多数可以在 TensorFlow 中执行的操作也可以在 Tfdeploy 中执行,你可以通过标准的 Python metaphors 来扩展库的行为(如,重载类)。</p> <h3><a href="/misc/goto?guid=4958839593893858930" rel="nofollow,noindex"><strong>Luigi</strong> </a></h3> <p style="text-align:center"><img src="https://simg.open-open.com/show/3cf4e735d494cafa88719cb3ed0c8cc2.png"></p> <p>编写批量作业只是处理数据堆的一部分,你还需要将所有作业串起来生成类似工作流和管道的东西。</p> <p>Luigi 由 Spotify 创建,用于“解决与长期运行成批处理作业有关的管道问题”。开发者可以通过 Luigi 采用多个不同且不相关的数据处理任务,如,Hive 查询,Java 中的 Hadoop 任务,Scala 中的 Spark 任务,从数据库转储 table 等,还可以创建一个端到端运行它们的工作流。</p> <p>对任务的整个描述以及依存性被打造为 Python 模块,而不是作为 XML 配置文件或其他数据格式创建,因此可以集成到其他以 Python 为中心的项目中。</p> <h3><a href="/misc/goto?guid=4959741070500630383" rel="nofollow,noindex"><strong>Kubelib</strong> </a></h3> <p>如果你使用 Kubernetes 作为机器学习作业的编排系统,那么你会祈祷 Kubernetes 产生的问题不要比解决的问题还多。Kubelib 为 Kubernetes 提供了一组 Pythonic 接口,最初是为了协助 Jenkins 脚本工作。但是它可以在没有 Jenkins 的情况下使用,它可以处理 kubectl CLI 或 Kubernetes API 暴露的一切服务。</p> <h3><a href="/misc/goto?guid=4959741070584337051" rel="nofollow,noindex"><strong>PyTorch</strong> </a></h3> <p style="text-align:center"><img src="https://simg.open-open.com/show/e4f2c854d0397c8a840bcfa4676eb429.gif"></p> <p>PyTorch 是一个Torch7团队开源的 Python 优先的深度学习框架,提供两个高级功能:强大的 GPU 加速 Tensor 计算(类似 numpy),构建基于 tape 的自动升级系统上的深度神经网络。你可以重用你喜欢的 python 包,如 numpy、scipy 和 Cython ,在需要时扩展 PyTorch。</p> <p>通常使用 PyTorch 是将其作为 numpy 的替代品,以使用强大的 GPU 能力,或作为一个深度学习研究平台,提供最大的灵活性和速度。</p> <p> </p> <p> </p> <p>来自:https://my.oschina.net/editorial-story/blog/854878</p> <p> </p>