【深度学习_环境(二)】深度学习需要了解的python库

一 深度学习常用的37个Python库

(1)核心库与统计:Numpy、Scipy、Pandas、StatsModels。
(2)可视化:Matplotlib、Seaborn、Plotly、Bokeh、Pydot、Scikit-learn、XGBoost/LightGBM/CatBoost、Eli5。
(3)深度学习:Tensorflow、PyTorch、Keras、fastai、PyTorch Lightning、JAX、MXNet、Ignite。
(4)分布式深度学习:Dist-keras/elephas/spark-deep-learning。
(5)自然语言处理: FastText、NLTK、SpaCy、Gensim、Datasets、Tokenizers 、Transformers 、Stanza、TextBlob、PyTorch-NLP、 Textacy、 Finetune、TextHero、Spark NLP、GluonNLP。
(6)数据抓取:Scrapy。

(1)核心库与统计

1. Numpy

NumPy是一个Python包,它是Python科学计算的核心库之一。NumPy可以处理多维数组和矩阵,提供了很多数学函数以及线性代数、傅里叶变换等基础操作,是Python进行科学计算、数据分析和机器学习等任务的重要工具之一。

以下是NumPy的一些特点:

  1. 多维数组:NumPy提供了一个ndarray类,用于存储N维数组,也就是多维数组。这使得NumPy能够更高效地处理数值运算和数组操作。

  2. 数学和统计函数:NumPy提供了很多数学和统计函数,例如sin、cos、exp、log等,还包括各种聚合函数(如mean、sum、min、max等)和描述性统计函数(如方差、标准差等)等。

  3. 线性代数:NumPy提供了很多线性代数相关的函数,例如求解线性方程组、矩阵乘法、矩阵分解等。

  4. 随机数生成:NumPy还提供了很多随机数生成函数,例如按均匀分布、正态分布等生成随机数的函数,以及生成随机数组的函数。

  5. 支持向量化操作:NumPy支持向量化操作,即在数组上进行操作而不需要使用循环,这能够提高效率。

2. Scipy

SciPy是一个Python的开源科学计算库,主要用于科学、工程和技术计算。它建立在NumPy的基础上,提供了更多的数学、信号处理、优化、统计和图像处理等功能。

以下是SciPy的一些主要特点:

  1. 支持插值和拟合:SciPy提供了很多插值和拟合函数,例如多项式拟合、样条插值等。

  2. 信号处理:SciPy包含很多数字信号处理函数,例如傅里叶变换、滤波器设计和信号生成等。

  3. 最优化:SciPy可以进行各种非线性优化。例如,可以使用SciPy的非线性优化函数来最小化或最大化目标函数,并指定约束条件。

  4. 统计:SciPy提供了很多统计函数,例如概率分布函数、统计检验、回归分析等。

  5. 线性代数:SciPy可以进行各种线性代数操作,例如求解线性方程组、矩阵分解和求逆等。

  6. 图像处理:SciPy包含很多图像处理函数,例如图像滤波器、形态学操作、边缘检测和图像变换等。

3. Pandas

 

Pandas是一个基于NumPy的Python数据分析库,它提供了很多数据结构和数据分析工具,支持快速高效地处理大型数据集、读写各种数据格式文件和进行各种数据操作。

 

以下是Pandas的一些特点:

 

  1. 数据结构:Pandas提供了两种主要的数据结构,即Series和DataFrame。其中,Series是一维数组,类似于一个带标签的数组,而DataFrame则是二维表格数据结构,类似于一个电子表格或SQL数据库中的表。

  2. 处理缺失数据:Pandas支持自动推断缺失值,并提供了很多函数来处理缺失数据,包括删除、填充和插值等方法。

  3. 数据清洗:Pandas提供了很多函数来进行数据清洗,例如数据类型转换、重复值删除、数据整合、数据变形等方法。

  4. 数据选取:Pandas提供了多种方法来选取数据,包括标签选择、位置选择和条件选择等方法。

  5. 基本统计功能:Pandas提供了很多基本统计和描述性统计函数,例如平均值、标准差、方差和百分位数等。

  6. 数据可视化:Pandas提供了数据可视化工具,能够快速地生成图表,方便用户进行数据探索和结果展示。

 

(2)可视化

24. Pillow(

星标:7800,提交数:10799,贡献者:303

Pillow是对用户十分友好的PIL分支。PIL是Python的图像库。

25. OpenCV(

星标:49600,提交数:29453,贡献者:1234

开源计算机视觉库。

26. scikit-image(

星标:4000,提交数:12352,贡献者:403

python中的图像处理。

27. Mahotas(

星标:644,提交数:1273,贡献者:25

Mahotas是个包含了最快的计算机视觉算法(所有算法用C++实现保证运行速度)的库,针对numpy数组运行。

28. Simple-CV(

星标:2400,提交数:2625,贡献者:69

SimpleCV是一个开源机器视觉框架,使用OpenCV和Python编程语言。

29. GluonCV(

星标:4300,提交数:774,贡献者:101

GluonCV提供了计算机视觉中最先进(SOTA)深度学习模型的实现。

30. Torchvision(

星标:7500,提交数:1286,贡献者:334

torchvision包由流行的数据集、模型架构和用于计算机视觉中常见的图像转换方法组成。

(3)深度学习

1. TensorFlow(

星标:149000,提交数:97741,贡献者:2754

TensorFlow是一个用于机器学习的端到端的开源平台。它具备着全面综合的、灵活的工具、库和社区资源生态系统,可以帮助研究人员去推动机器学习先进的技术的发展,并让开发人员可以轻松地构建和部署基于机器学习的应用程序。

2. Keras(

星标:50000,提交数:5349,贡献者:864

Keras是一个用Python编写的深度学习API,其运行于机器学习的顶级平台TensorFlow之上。

3. PyTorch(

星标:43200,提交数:30696,贡献者:1619

具有强大GPU加速,和使用Python实现的张量和动态神经网络。

4. fastai(

星标:19800,提交数:1450,贡献者:607

通过利用当下最佳的技术实践,fastai极快地简化了训练过程,并加速了神经网络。

5. PyTorch Lightning(

星标:9600,提交数:3594,贡献者:317

针对于高性能人工智能研究的封装轻量级PyTorch。可以缩小你的模型,而不是提供小的样板。

6. JAX(

星标:10000,提交数:5708,贡献者:221

Python+NumPy程序的可组合转换:区分,向量化,在GPU/TPU上的JIT,等等。

7. MXNet(

星标:19100,提交数:11387,贡献者:839

带有动态和突变感知的数据流管理调度程序的轻量、便捷、灵活的分布式/移动机器学习库:支持Python、R、Julia、Scala、Go、JavaScript等等。

8. Ignite(

星标:3100,提交数:747,贡献者:112

高级库,可以帮助培训和评估神经网络在PyTorch中实现灵活和透明的使用。

(5)自然语言处理

9. FastText(

星标:21700,提交数:379,贡献者:47

fastText是一个可以用来高效学习单词表意和句子分类的库。

10. spaCy(

星标:17400,提交数:11628,贡献者 482

用来实现工业级自然语言处理(NLP),通过使用Python和Cython。

11. gensim(

星标:11200,提交数:4024,贡献者:361

Gensim是一个Python库,用于主题建模、文档索引和相似度检索,具有大型语料库。目标受众是自然语言处理(NLP)和信息检索(IR)社区。

12. NLTK(

星标:9300,提交数:13990,贡献者:319

NLTK——自然语言工具箱——是一套开源Python模块、数据集和教程,用于针对支持自然语言处理方面的研究和开发。

13. Datasets (Huggingface)(

星标:4300,提交数: 568,贡献者:64

用于自然语言处理的,使用PyTorch, TensorFlow, NumPy和Pandas的工具,具有快速,高效,开放访问的数据集和自然语言处理评估指标。

14. Tokenizers (Huggingface)(

星标:3800,提交数:1252,贡献者:30

为研究和生产优化的快速、顶级的分词器。

15. Transformers (Huggingface)(

星标:3500,提交数:5480,贡献者:585

transformer:针对 Pytorch和TensorFlow 2.0的最顶级的自然语言处理库。

16. Stanza(

星标:4800,提交数:1514,贡献者:19

针对许多人类语言的正式标准NLP Python库。

17. TextBlob(

星标:7300,提交数:542,贡献者:24

简单、python风格、文本处理——情感分析、词性标记、名词短语提取、翻译等等。

18. PyTorch-NLP(

星标:1800,提交数:442,贡献者:15

PyTorch自然语言处理(NLP)的基本工具。

19. Textacy(

星标:1500,提交数:1324,贡献者:23

一个Python库,用于执行各种自然语言处理(NLP)任务,构建在一个高性能spaCy库之上。

20. Finetune(

星标:626,提交数:1405,贡献者:13

Finetune是一个库,它允许用户利用最先进的预训练的NLP模型来执行广泛的下游任务。

21. TextHero(

星标:1900,提交数:266,贡献者:17

文本预处理,表示和可视化,从零到精通。

22. Spark NLP(

星标:1700,提交数:4363,贡献者:50

Spark NLP是一个构建在Apache Spark ML之上的自然语言处理库。

23. GluonNLP(

星标:2200,提交数:712,贡献者:72

GluonNLP是一个工具包,它支持简单的文本预处理、数据集加载和神经模型构建,以帮助您加快自然语言处理(NLP)研究。

 

其他一些库

1 joblib 库【link

  • 函数的透明磁盘缓存和延迟重新计算 (记忆模式)
  • 简单并行计算

        Joblib 经过了优化,特别是在处理大型数据时速度更快、更健壮,并且对 numpy 数组进行了特定的优化。

2 tqdm【link

tqdm是一个进度条可视化库,可以帮助我们监测程序运行的进度,估计运行的时长,甚至可以协助debug。

 

 
posted @   学习记录本  阅读(1079)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示