可以给AI减轻负担的Python AI库有哪些?

其实Python库可帮助加快数据管道,例如,使用AWS Lambda可对计算量较大的作业进行碎片处理,使用TensorFlow模型可减轻TensorFlow的负载。机器学习是件令人兴奋的事,但一系列工作是复杂和困难的。作为一名开发人员,要学习的工具实在是太多太杂了。幸运的是,Python是一种广泛应用于大数据和机器学习各类工具上的语言,使用范围极广。机器学习通常涉及大量手动提升的工作,组装工作流和管道、设置数据源以及在内部和云部署的资源之间来回分流。以下这五大Python库可帮助加快数据管道,例如,使用AWS Lambda可对计算量较大的作业进行碎片处理,使用TensorFlow模型可减轻TensorFlow的负载。

PyWren

一个具有强大前提的简单包,PyWren允许将基于Python运行的科学计算工作负载作为AWS Lambda函数的多个实例。The New Stack中项目的配置文件描述了PyWren使用AWS Lambda作为并行处理系统,主要处理不需要消耗大量内存或存储的小项目。PyWren的一个缺点是lambda函数最多不能运行超过300秒。如果你的工作只需要几分钟,在数据集上运行几千次,PyWren可能是一个很好的选择,它能够以在用户硬件上不可用的规模平行化云端工作。

Tfdeploy

谷歌的TensorFlow框架在机器学习领域脱颖而出,现在已经有一个完整的1.0版本了。用户经常面临一个问题:如何在不使用TensorFlow本身的情况下,利用TensorFlow训练模型呢?

Tfdeploy是这个问题的部分答案。它将一个训练有素的TensorFlow模型导出为“一个简单的基于NumPy的可调用模型”,意味着该模型可以在Python中使用Tfdeploy和NumPy数学和统计库作为唯一依赖。在TensorFlow中可以执行的大多数操作也可以在Tfdeploy中执行,可以通过标准Python隐喻方式(例如重载类)来扩展库行为。

坏消息是:Tfdeploy不支持GPU加速,如果使用NumPy可克服这一点就好了。Tfdeploy的创建者建议使用gNumPy项目作为可能的替代品。

Luigi

批量处理通常只是数据堆处理的一部分,而且还必须将所有任务串在一起成为类似工作流程的东西。Luigi由Spotify创建,定位于“解决运行批处理过程相关的所有管道问题”。使用Luigi,开发人员可以采取几个不同的、与数据处理不相关的任务——Hive查询,Java中的Hadoop任务,Scala中的Spark任务,从数据库中转储表——并创建一个端到端运行它们的工作流—结束。任务及其依赖关系的完整描述作为Python模块创建,而不作为XML配置文件或其他数据格式创建,因此可以集成到其他以Python为中心的项目中。

Kubelib

如果你使用Kubernetes作为机器学习任务的编排系统,最后你想要的肯定是使用Kubernetes来解决更多的问题,而不是带来许多问题。Kubelib为Kubernetes提供了一组Pythonic接口,最初是用Jenkins script作为脚本。但是它可以在没有Jenkins的情况下使用,它可以完成kubectl CLI或Kubernetes API暴露出的一切事情。

PyTorch

不要忘记这个最近发布的、高调的Python新产品,一个实现Torch机器学习框架的工具。PyTorch不仅将Torch移植到了Python,而且增加了许多其他便利,如GPU加速和一个允许使用共享内存(用于跨多个内核分区作业)进行多处理的库。最重要的是,它可以为NumPy中的一些未加速功能提供GPU加速替换。

结语

感谢您的观看,如有不足之处,欢迎批评指正。

在此我向大家推荐一个大数据开发交流圈:

658558542    (☛点击即可加入群聊

里面整理了一大份学习资料,全都是些干货,包括大数据技术入门,大数据离线处理、数据实时处理、Hadoop 、Spark、Flink、推荐系统算法以及源码解析等,送给每一位大数据小伙伴,让自学更轻松。这里不止是小白聚集地,还有大牛在线解答!欢迎初学和进阶中的小伙伴一起进群学习交流,共同进步!

最后祝福所有遇到瓶颈的大数据程序员们突破自己,祝福大家在往后的工作与面试中一切顺利。

猜你喜欢

转载自blog.csdn.net/weixin_44233163/article/details/88049851