深度学习常用的Python库(核心库、可视化、NLP、计算机视觉、深度学习等)

(1)核心库与统计:Numpy、Scipy、Pandas、StatsModels。

(2)可视化:Matplotlib、Seaborn、Plotly、Bokeh、Pydot、Scikit-learn、XGBoost/LightGBM/CatBoost、Eli5。

(3)深度学习:Tensorflow、PyTorch、Keras。

(4)分布式深度学习:Dist-keras/elephas/spark-deep-learning。

(5)自然语言处理:NLTK、SpaCy、Gensim。

(6)数据抓取:Scrapy。

1、核心库与统计

  • Numpy: 我们从科学应用程序库开始说起,NumPy是该领域的主要软件包之一。 它旨在处理大型多维数组和矩阵,并且广泛的高级数学函数和实现的方法集合,使得可以使用这些对象执行各种操作。在这一年中,NumPy有很多更新。 除了错误修复和兼容性问题之外,关键更新还包括NumPy对象的打印格式。此外,某些函数现在可以处理Python中可用的任何编码的文件。
  • SciPy: 另一个科学计算核心库是SciPy。它基于NumPy,并扩展了其功能。 SciPy主数据结构又是一个多维数组,由Numpy实现。该软件包包含有助于解决线性代数,概率论,积分计算和更多任务的工具。SciPy可以适配不同的操作系统。这一年,Scipy带来了许多函数的更新,尤其是优化器也更新了。此外,封装了许多新的BLAS和LAPACK函数。
  • Pandas: Pandas提供了高级数据结构和各种分析工具。该软件包的一大特色是能够将相当复杂的数据操作转换为一个或两个命令。 Pandas包含许多用于分组,过滤和组合数据的内置方法,以及时间序列功能。Pandas在这一年的更新包括数百个新功能,bug修复和API的更改。
  • StatsModels: Statsmodels是一个统用于统计数据分析的方法,例如统计模型估计,执行统计测试等。在它的帮助下,您可以实现许多机器学习方法。这个库在不停的更新。今年带来了时间序列改进和新的计数模型,即GeneralizedPoisson,零膨胀模型和NegativeBinomialP,以及新的多变量方法 - 因子分析,MANOVA和ANOVA中的重复测量。

2、可视化

  • Matplotlib:Matplotlib是一个用于创建二维图表和图形的低级库借助它的帮助,您可以构建各种图表,从直方图和散点图到非笛卡尔坐标图。 此外,许多流行的绘图库被设计为与matplotlib一起使用。颜色,尺寸,字体,图例的样式等都有变化。比如轴图例的自动对齐,和更友好的配色。
  • Seaborn:Seaborn本质上是基于matplotlib库的更高级别的API。 它包含有丰富的可视化图库,包括时间序列,联合图和小提琴图(展示数据密度分布)等复杂类型。seaborn更新主要包括bug修复。 此外,FacetGrid或PairGrid与增强的交互式matplotlib后端之间的兼容性有所改进,为可视化添加了参数和选项。
  • Plotly:Plotly是一个流行的库,可以让您轻松地构建复杂的图形。 该软件包适用于交互式Web应用程序。 其可视化效果包括轮廓图形,三元图和3D图表。今年该库的更新包括对“多链接视图”以及动画和串扰集成的支持。
  • Bokeh:Bokeh库使用JavaScript小部件在浏览器中创建交互式和可伸缩的可视化。 该库提供了多种图形,样式及链接图形式的交互能力,定义回调以及更多有用的功能。Bokeh可以提供改进的交互式功能,例如分类刻度标签的旋转,以及小缩放工具和自定义工具提示字段增强功能。
  • Pydot:Pydot是Graphviz的一个接口,用纯Python编写。 在它的帮助下,可以显示图形的结构,这在构建神经网络和基于决策树的算法时会经常用到。

3、机器学习

  • Scikit-learn:这个基于NumPy和SciPy的Python模块是处理数据的最佳库之一。它为许多标准机器学习和数据挖掘任务提供算法,例如聚类,回归,分类,降维和模型选择。今年这个库的更新包括:修改交叉验证,提供了使用多个指标的功能;最近邻和逻辑回归等几种训练方法有一些小的改进。
  • XGBoost / LightGBM / CatBoost:Boosting是最流行的机器学习算法之一,其在于构建基本模型的集合,即决策树。因此,有专门的库设计用于快速方便地实现该方法。XGBoost,LightGBM和CatBoost值得特别关注。这些库提供高度优化,可扩展和快速的梯度增强实现,这使得它们在数据科学家和Kaggle竞赛中非常受欢迎。
  • Eli5:通常,机器学习模型预测的结果并不完全清楚,而eli5库有助与解决问题。它是一个可视化调试机器学习模型的包,并逐步跟踪算法的工作过程。它可与scikit-learn,XGBoost,LightGBM,lightning和sklearn-crfsuite库兼容。

4、深度学习

  • TensorFlow:ensorFlow是一个流行的深度和机器学习框架,由Google Brain开发。它提供了使用具有多个数据集的人工神经网络的能力。最受欢迎的TensorFlow应用包括对象识别,语音识别等。这个库在新版本中很快,引入了新功能和新功能。最新的修复包括潜在的安全漏洞和改进的TensorFlow和GPU集成,例如您可以在一台计算机上的多个GPU上运行Estimator模型。
  • PyTorch:PyTorch是一个大型框架,允许使用GPU加速执行张量计算,创建动态计算图并自动计算梯度。在此之上,PyTorch提供了丰富的API,用于解决与神经网络相关的应用。该库基于Torch,这是一个用C语言实现的开源深度学习库,在Lua中有一个包装器。 Python API于2017年推出,从那时起,该框架越来越受欢迎并吸引了越来越多的数据科学家。
  • Keras:Keras是一个用于处理神经网络的高级库,运行在TensorFlow,Theano之上。现在它也可以使用CNTK和MxNet作为后端。它简化了许多特定任务,并大大减少了单调代码的数量。但是,它可能不适合某些复杂的事情。该库在性能,可用性,文档和API都有一定改进。一些新功能是Conv3DTranspose层,新的MobileNet应用程序和自我规范化网络。
  • Dist-keras / elephas / spark-deep-learning:使用像Apache Spark这样的分布式计算系统可以更轻松地处理如此大量的数据,这再次扩展了深度学习的可能性。因此,dist-keraselephas和spark-deep-learning正在迅速发展。这些软件包可以在Apache Spark的帮助下直接基于Keras库训练神经网络。 Spark-deep-learning还提供了使用Python神经网络创建管道的工具。

5、自然语言处理

  • NLTK:NLTK是一组库,是自然语言处理的完整平台。 在NLTK的帮助下,您可以通过各种方式处理和分析文本,标记文本,提取信息等。NLTK还用于原型设计和构建研究系统。这个库的附魔包括API和兼容性的微小变化以及CoreNLP的新界面。
  • SpaCy:SpaCy是一个自然语言处理库,包含优秀的demo,API文档和演示应用程序。该库是用Cython语言编写的,它是Python的C扩展。它支持近30种语言,提供简单的深度学习集成,并保证了稳健性和高准确性。 SpaCy的另一个重要特性它是为整个文档处理而设计的,而不会将文档分成短语。
  • Gensim:Gensim是一个用于强大语义分析,主题建模和向量空间建模的Python库,基于Numpy和Scipy构建。它提供了流行的NLP算法的实现,例如word2vec。
  • Scrapy:Scrapy是一个用于创建扫描网站页面和收集结构化数据的爬虫库。此外,Scrapy可以从API中提取数据。由于其可扩展性和可移植性,该库恰好非常方便。
  •  Tokenizers(Huggingface开发):为研究和生产而优化的最先进快速标记器。

6、计算机视觉

  • Pillow:PIL( Python Imaging Library )是一个免费的 Python 编程语言库,它增加了对打开,操作和保存许多不同图像格式的支持。然而,它的发展停滞不前,其最后一版发布于2009年。幸运的是,Pillow 是一个积极开发的 PIL 分支,它更易于安装,可在所有主流操作系统上运行,并支持 Python 3。该库包含基本图像处理功能,包括点操作,使用一组内置卷积内核进行过滤以及颜色空间转换.
  • scikit-image: scikit-image 是一个与 NumPy 数组一起使用的开源 Python 包。它实现了用于研究,教育和行业应用的算法和实用程序。它包括用于分割、几何变换、颜色空间操作、分析、滤波、形态学、特征检测等的算法。
  • OpenCV-Python: OpenCV(Open Source Computer Vision Library)是计算机视觉应用中使用最广泛的库之一。OpenCV-Python 是 OpenCV 的 Python API。因为后台由 C / C ++ 编写的代码组成,OpenCV-Python 速度很快,但它也很容易编码和部署(由于前端的 Python 包装器)。这使其成为执行计算密集型计算机视觉程序的绝佳选择。它包括用于目标检测、视频分析和图像识别的算法。 
  • SimpleCV:SimpleCV 是另一个用于构建计算机视觉应用程序的开源框架。允许用户访问和操作数字图像。该库提供了用于图像处理的各种函数,包括滤波器、形态学操作、颜色转换和边缘检测。
  • Mahotas: Mahotas 是另一个用于 Python 的计算机视觉和图像处理库。它包含传统的图像处理功能,如过滤和形态操作,以及用于特征计算的更现代的计算机视觉功能,包括兴趣点检测和局部描述符。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/74940.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MFC自定义消息的实现方法----(线程向主对话框发送消息)、MFC不能用UpdateData的解决方法

在MFC中,我们一边在使用多线程时,经常会遇到在需要调用到新建的控件,此时建议不要在新建的线程中直接调用主对话框的控件,我们可以通过自定义消息,在新建线程中发送并触发主线程进行相关的界面控件操作。 以Dialog对话…

Docker:01 OverView

Docker:01 OverView 基本介绍 Docker是一个用于开发、交付、运行应用程序的开放平台,可以使应用程序与基础架构分开,以便快速交付软件。 Docker在一个被叫做容器的隔离环境下,提供了打包和运行的能力。 容器非常轻量化&#x…

Android studio 调整jar包顺序

第一步:编译jar包,放入lib路径下:如: 第二步:app 目录下build.gradle 中添加 compileOnly files(libs/classes.jar) 第三步:project目录下build.gradle 中添加 allprojects {gradle.projectsEvaluated {t…

第50节:cesium 绘制指定类型区域(含源码+视频)

结果示例: 完整源码: <template><div class="viewer"><el-button-group class="top_item"><el-button type=

正则表达式参考手册

修饰符 修饰符用于执行区分大小写和全局匹配: 修饰符描述i执行对大小写不敏感的匹配。g执行全局匹配&#xff08;查找所有匹配而非在找到第一个匹配后停止&#xff09;。m执行多行匹配。 方括号 方括号用于查找某个范围内的字符&#xff1a; 表达式描述[abc]查找方括号之间…

1、Flutter移动端App实战教程【环境配置、模拟器配置】

一、概述 Flutter是Google用以帮助开发者在IOS和Android 两个平台开发高质量原生UI的移动SDK&#xff0c;一份代码可以同时生成IOS和Android两个高性能、高保真的应用程序。 二、渲染机制 之所以说Flutter能够达到可以媲美甚至超越原生的体验&#xff0c;主要在于其拥有高性…

Jetsonnano B01 笔记5:IIC通信

今日继续我的Jetsonnano学习之路&#xff0c;今日学习的是IIC通信&#xff0c;并尝试使用Jetson读取MPU6050陀螺仪数据。文章提供源码。文章主要是搬运的官方PDF说明&#xff0c;这里结合自己实际操作作笔记。 目录 IIC通信&#xff1a; IIC硬件连线&#xff1a; 安装IIC库文…

智能小车之蓝牙控制并测速小车、wife控制小车、4g控制小车、语音控制小车

目录 1. 蓝牙控制小车 2. 蓝牙控制并测速小车 3. wifi控制测速小车 4. 4g控制小车 5. 语音控制小车 1. 蓝牙控制小车 使用蓝牙模块&#xff0c;串口透传蓝牙模块&#xff0c;又叫做蓝牙串口模块 串口透传技术&#xff1a; 透传即透明传送&#xff0c;是指在数据的传输过…

Codeforces Round 855 (Div 3)(A - F)

Codeforces Round 855 (Div. 3)&#xff08;A - F&#xff09; Codeforces Round 855 (Div. 3) A. Is It a Cat?(思维) 思路&#xff1a;先把所有字母变成小写方便判断 &#xff0c; 然后把每一部分取一个字母出来 &#xff0c; 判断和‘meow’是否相同即可。 复杂度 O ( n…

QStandardItemModel,setData()方法,最后一个参数角色值用法

QStandardItemModel中&#xff0c;setData(index, xxx, Qt::EditRole); 后面的角色值填写Qt::EditRole就可以往模型中设置值&#xff0c;而填写Qt::UserRole就不可以往模型中设置值&#xff0c;解决方案&#xff1a; Qt::EditRole和Qt::UserRole是Qt模型/视图框架中用于描述数据…

掌握AI助手的魔法工具:解密`Prompt`(提示)在AIGC时代的应用(下篇)

前言&#xff1a;在前面的两篇文章中&#xff0c;我们深入探讨了AI助手中的魔法工具——Prompt&#xff08;提示&#xff09;的基本概念以及在AIGC&#xff08;Artificial Intelligence-Generated Content&#xff0c;人工智能生成内容&#xff09;时代的应用场景。在本篇中&am…

vue3切换路由模式——Hash 、histoary

1、history模式 使用createWebHistory import { createRouter, createWebHistory } from vue-router import Home from ../views/Home.vue const routes [{path: /,name: Home,component: Home},{path: /about,name: About,component: () > import(../views/About.vue)} ]…

10.Xaml ListBox控件

1.运行界面 2.运行源码 a.Xaml 源码 <Grid Name="Grid1"><!--IsSelected="True" 表示选中--><ListBox x:Name="listBo

生成树协议 STP(spanning-tree protocol)

一、STP作用 1、消除环路&#xff1a;通过阻断冗余链路来消除网络中可能存在的环路。 2、链路备份&#xff1a;当活动路径发生故障时&#xff0c;激活备份链路&#xff0c;及时恢复网络连通性。 二、STP选举机制 1、目的&#xff1a;找到阻塞的端口 2、STP交换机的角色&am…

常用ClickHouse问题诊断查询

常用ClickHouse问题诊断查询 Clickhouse是一个性能强大的OLAP数据库&#xff0c;在实际使用中会遇到各种各样的问题&#xff0c;同时也有很多可以调优的地方。本文阐述如何对ClickHouse做问题诊断和性能分析。 相关的系统表 序号表名含义说明1system.asynchronous_insert_lo…

Leetcode 2851. String Transformation

Leetcode 2851. String Transformation 0. 吐槽1. 算法思路 1. 整体思路2. 字符串匹配优化 2. 代码实现 题目链接&#xff1a;2851. String Transformation 0. 吐槽 这道题多少有点坑爹&#xff0c;题目本身挺有意思的&#xff0c;是一道数组题目&#xff0c;其实用数学方法…

Java开发面试--nacos专区

1、 Nacos是什么&#xff1f; 请简要介绍Nacos是什么以及它的主要功能和用途。 答&#xff1a; 简介&#xff1a; Nacos是一个开源的、高性能、动态服务发现、配置和服务管理平台&#xff0c;通常用于微服务架构中。Nacos的名称来源于"Naming"&#xff08;服务发现…

【2023年11月第四版教材】第12章《质量管理》(第一部分)

第12章《质量管理》&#xff08;第一部分&#xff09; 1 章节说明2 管理基础3 管理过程3.1 管理ITTO汇总★★★ 1 章节说明 【本章分值预测】大部分内容不变&#xff0c;细节有一些变化&#xff0c;预计选择题考3-4分&#xff0c;案例和论文都有可能考&#xff1b;是需要重点学…

【Vue2.0源码学习】生命周期篇-初始化阶段(initState)

文章目录 1. 前言2. initState函数分析3. 初始化props3.1 规范化数据3.2 initProps函数分析3.3 validateProp函数分析3.4 getPropDefaultValue函数分析3.5 assertProp函数分析 4. 初始化methods5. 初始化data6. 初始化computed6.1 回顾用法6.2 initComputed函数分析6.3 defineC…

Unity记录一些glsl和hlsl的着色器Shader逆向代码

以下内容一般基于 GLSL 300 之后 以下某些代码行&#xff0c;是“伪代码“&#xff0c;绝大部分是renderDoc 逆向产生标准代码 本人OpenlGL零基础&#xff0c;也不打算重头学 目录 Clip&#xff08;&#xff09; 剔除函数 discard; FS最终颜色输出 out 和最终颜色相加方程…