当前位置: 首页 > 科技观察

是时候减轻AI的负担了,Python的5大AI库推荐

时间:2023-03-16 21:09:33 科技观察

机器学习令人兴奋,但一系列任务复杂而艰巨。作为开发人员,需要学习的工具太多太复杂。幸运的是,Python是一种被广泛应用于大数据和机器学习的各种工具中的语言,其用途极为广泛。机器学习通常涉及大量手动提升、组装工作流和管道、设置数据源,以及在本地资源和云部署资源之间来回切换。以下是五个有助于加速数据管道的顶级Python库,例如,使用AWSLambda分解计算密集型作业或使用TensorFlow模型卸载TensorFlow。PyWren一个具有强大前提的简单包,PyWren允许运行基于Python的科学计算工作负载作为AWSLambda函数的多个实例。TheNewStack中项目的配置文件描述了PyWren使用AWSLambda作为并行处理系统,主要用于不需要消耗大量内存或存储的小型项目。PyWren的一个缺点是lambda函数最多不能运行超过300秒。如果您的作业只需要几分钟并在数据集上运行数千次,PyWren可能是一个不错的选择,可以在用户硬件上无法实现的规模上并行化云作业。TfdeployGoogle的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脚本作为脚本。但它可以在没有Jenkins的情况下使用,并且它可以完成kubectlCLI或KubernetesAPI公开的所有内容。PyTorch不要忘记这个最近发布的备受瞩目的Python新产品,它是一个实现Torch机器学习框架的工具。PyTorch不仅将Torch移植到Python,还增加了许多其他便利,例如GPU加速和允许使用共享内存进行多处理的库(用于跨多个内核划分作业)。最重要的是,它可以为NumPy中一些未加速的函数提供GPU加速替代。