1_12_常见库介绍#

作者: ZhouLong
创建日期: 2026 年 02 月 01 日
版本: 1.0

浏览量:

简介#

下面会介绍在深度学习项目中常见的库。大家根据需求需要掌握并熟练使用一些核心的库,这可以大大提高开发效率。

熟练度说明:

  • 熟练代表要非常熟悉这个库。

  • 掌握代表可以基本地使用

  • 了解代表了解功能即可,根据个人需求来掌握或达成熟练

1、科学计算与数据分析库#

这部分主要涉及基础的科学计算,以及数据处理流程。最后还有可视化的包也建议大家掌握。

库名称

主要用途

关键功能

需要掌握的程度

学习路线建议

NumPy

数值计算基础

多维数组(ndarray)、线性代数、傅里叶变换等

熟练

1. 数组创建和索引
2. 广播机制
3. 向量化操作
4. 常用数学函数

Pandas

数据处理分析

DataFrame/Series操作、数据清洗、分组聚合、时间序列

熟练

1. 数据读写(CSV/Excel)
2. 数据清洗和预处理
3. 分组聚合(groupby)
4. 数据合并与透视

SciPy

科学计算扩展

优化算法、信号处理、统计分析、积分求解

掌握

1. 常用统计函数
2. 优化方法(scipy.optimize)
3. 积分和微分方程

Scikit-learn

机器学习

分类、回归、聚类、降维、模型评估

熟练

1. 数据预处理
2. 常用算法实现
3. 交叉验证
4. 模型评估指标

Statsmodels

统计分析

统计建模、假设检验、时间序列分析

了解

1. 线性回归模型
2. 时间序列分析
3. 假设检验

Matplotlib

基础数据可视化

2D图形绘制、子图布局、样式设置

熟练

1. 基本图形绘制
2. 子图和布局管理
3. 样式和配色设置
4. 交互式图形

Seaborn

统计可视化

高级统计图形、数据分布可视化

掌握

1. 分布图(distplot, kdeplot)
2. 分类图(catplot)
3. 关系图(relplot)
4. 热力图(heatmap)

2、深度学习与AI库#

深度学习的框架只需要精通一个,其余的掌握即可。这里推荐大家学习PyTorch,这是目前学术界的主流。使用体验也相对较好,社区生态完善。 后续第三部分会介绍PyTorch

| 库名称 | 主要用途 | 关键功能 | 需要掌握的程度 | |--------|----------|----------|----------------|------------| | PyTorch | 深度学习框架 | 神经网络构建与训练 | 熟悉 | | TensorFlow | 深度学习框架 | 神经网络构建与训练 | 掌握 | | JAX | 高性能计算 | 自动微分、JIT编译、向量化 | 了解 |

3、Web开发库#

这部分对于深度学习不是必要的,可以不掌握。但是建议大家对flask有一定了解,方便后续把深度学习封装成web应用,降低应用交互难度,提升使用性。

| 库名称 | 主要用途 | 关键功能 | 需要掌握的程度 | |--------|----------|----------|----------------|----------| | Flask | 轻量级Web框架 | 路由、请求响应、模板渲染、扩展机制 | 掌握 | | Django | 全栈Web框架 | ORM、Admin后台、认证系统、路由系统 | 了解 | | FastAPI | 现代API框架 | 异步支持、自动API文档、数据验证 | 了解 | | Requests | HTTP客户端 | GET/POST请求、会话管理、文件上传 | 了解 | | BeautifulSoup | HTML解析 | HTML解析、元素查找、数据提取 | 了解 | | Scrapy | 爬虫框架 | 爬虫编写、数据管道、中间件 | 了解 |


4、自动化与工程工具#

这部分对于深度学习不是必要的,可以不掌握。此类工具比较多,比较杂,这里仅列出一些举例,大家根据需求掌握。

库名称

主要用途

关键功能

需要掌握的程度

应用场景

Selenium

浏览器自动化

网页操作、元素定位、等待机制

了解

1. 元素定位方法
2. 显式/隐式等待
3. 多窗口处理
4. 截图和日志

PyAutoGUI

桌面自动化

鼠标键盘控制、屏幕识别、图像匹配

了解

1. 坐标控制
2. 图像识别
3. 热键设置

Paramiko

SSH连接

SSH连接、SFTP传输、命令执行

了解

1. SSH连接管理
2. SFTP文件传输
3. 远程命令执行

APScheduler

任务调度

定时任务、后台调度、任务持久化

了解

1. 触发器设置
2. 作业存储
3. 执行器配置

Celery

分布式任务队列

异步任务、任务路由、监控管理

了解

1. 任务定义和调用
2. 消息代理配置
3. 任务结果存储
4. Flower监控


5、开发工具与辅助库#

这部分的库主要辅助python进行工程化,从而降低开发难度,提升开发效率。大家需要尽可能地掌握。

类别

库名称

掌握程度

关键用途

必备技能

测试框架

pytest

熟练

单元测试、功能测试

1. 测试用例编写
2. Fixture使用
3. 参数化测试
4. 插件系统

代码格式化

black

熟练

代码自动格式化

1. 配置规则
2. 集成到工作流

类型检查

mypy

熟练

静态类型检查

1. 类型注解
2. 配置文件设置
3. 第三方库类型提示

日志管理

logging

熟练

日志记录

1. 日志级别设置
2. 处理器配置
3. 格式化输出

6、学习路线#

学习资源推荐#

  • 所有库的官方网站文档,这些是第一手学习资料,非常重要,例如NumPy、PyTorch、Pandas、Django等

  • b站网课,对于习惯上网课的同学,b站的网课应有尽有,非常不错。注意要边看边多敲代码练习

进阶学习#

  • 阅读优秀开源项目源码

  • 参与开源项目贡献

  • 学习设计模式和架构设计

这个详细指南提供了不同层次的学习建议,你可以根据自己的职业方向和当前水平选择合适的库进行深入学习。记住:广度重要,深度更重要