Python 深度学习常用包汇总

Python 深度学习常用包汇总


比较常用Pytorch框架,记录一下常用的包,方便重建深度学习环境。如果没有特别提示,均是在Windows下试验的。

更新历史

2021/2/28
2021/3/6
2021/5/22
2022/4/22
2023/8/18
2023/9/25
2024/6/22

清单

框架与库名说明是否需要特殊安装
深度学习
Pytorchmeta(facebook)开源深度学习框架。
tensorflow谷歌开源深度学习框架。1.x和2.x版本不兼容。
paddlepaddle百度飞桨开源深度学习框架。
MindSpore华为开源深度学习框架。
transformersHuggingFace Transformers 可广泛用于自然语言处理 (NLP) 、计算机视觉、音频等各种任务。尤其是它可以用于快速开发基于 transformer 的语言模型。它是大模型时代堪比Pytorch的库。更新快,版本差异大,建议根据依赖说明安装。
vLLM一个拥有高吞吐量和内存高效的 LLM 推理和服务引擎。安装需要考虑Python,显卡驱动版本。
llamacppLlama.cpp用高效的 C/C++ 实现的LLM推理框架。可以在CPU上快速推理,提供量化推理。不用安装,下载编译的软件即可使用。注意,这不是Python的库。
llama-cpp-pythonllama.cpp 的 Python 绑定。
flash_attnFlash Attention是一种注意力算法,更有效地缩放基于transformer的模型,从而实现更快的训练和推理。
scikit-learn一个功能强大的Python机器学习库,它提供了各种机器学习算法和数据预处理工具,使得数据处理和模型训练变得简单高效。包括分类、回归、聚类、降维算法。
gensim一个挖掘文档语义结构的工具。有Word2vec,doc2vec等算法。3.x和4.x版本差异大。
jieba结巴中文分词,最具影响力的中文分词库。
hanlp中文分词,最新版是基于bert的分词库,地位仅次于jieba。
nltk英文分词,英文数据预处理。
gradioGradio是一个用于构建交互式界面的Python库。它可以帮助您快速创建自定义的Web界面,用于展示和测试机器学习模型、自然语言处理模型、计算机视觉模型等。更新快,版本差异大,建议根据依赖说明安装。
numpyPython中用于科学计算的核心库,它支持多维数组和矩阵运算,以及大量的数学函数库。听说2.x版本有比较多不兼容的改变。
scipyScientific Python 针对特定类型的科学计算任务提供了丰富的函数和类。
accelerateHuggingFace 的 accelerate 库可以实现只需要修改几行代码就可以实现ddp训练,且支持混合精度训练和TPU训练。
bitsandbytesbitsandbytes是对CUDA自定义函数的轻量级封装,特别是针对8位优化器。用于大模型训练微调。
sentencepiece一个无监督的文本分词器(tokenizer),包括基于频率和BPE算法,常用于Transformer语言模型。
tokenizershuggingface 提供的文本分词器(tokenizer)。
图像
opencv-python是一个基于BSD许可(开源)发行的跨平台计算机视觉库。使用BGR通道读取图片。
pillow一个非常强大的图像处理库。常与Pytorch绑定使用。使用RGB颜色空间。
matplotlib一个可创建静态的、动画的和可交互的可视化图形图像的库。
networkx一个用于图论与复杂网络建模工具,内置了常用的图与复杂网络分析算法,支持创建简单无向图、有向图和多重图(multigraph)。
seabornSeaborn是matplotlib的强大的一个扩展。
wordcloud画词云,通常与分词一起使用。
数据处理
pandasPandas是Python中最流行的数据分析和统计库。支持csv,xlsx,parquet表格文件。
pydantic是 python 中用于数据接口定义检查与设置管理的库。可以强制执行类型检查。
PyMuPDF处理PDF文件
python-docx处理word文件
python-pptx处理ppt文件
API与爬虫
requests一个简单而优雅的Python HTTP库,可以发送GET、POST请求。
Flask轻量级Web应用框架。可以用于编写web应用和接口。
fastapi一个用于构建 API 的现代、快速(高性能)的 web 框架。
openaiOpenAI 发布的访问OpenAI 大模型服务的库。除此之外,很多大模型都支持通过它访问。
selenium模拟浏览器运行的库,用于Web应用程序测试的工具
beautifulsoup4Beautiful Soup 是一个用于解析 HTML(网页) 和 XML 文档的 Python 库。
uvicorn一个基于标准 ASGI (Asynchronous Server Gateway Interface) 的高性能 HTTP 服务器。常用于部署fastapi应用。
pyautogui一个键盘鼠标自动化库,可以用于爬取数据,执行重复性任务。
其他
jupyter notebook是基于网页的用于交互计算编程的应用程序。常用于数据科学分析。6.x与7.x ui改动大,一些插件不兼容。
tqdm进度条
loguru简单易用,高性能的日志库

原则:能pip安装的库,一律pip安装。

需要特殊安装的库

名称不一致的库

一些库的名称与在代码中导入的名称不一致,这是很烦的。不一致导致很多时候使用开源代码时,对于缺少的库会下意识思考名称是不是一样,浪费时间。

它们不知道知道导入名称就可以安装的乐趣吗???

# sklearn
pip install scikit-learn

# import cv2
pip install opencv-python

# beautifulsoup4
pip install beautifulsoup4 lxml
# 导入使用
from bs4 import BeautifulSoup

OpenCV最详细入门-CSDN博客


Pytorch

Pytorch 是目前世界最受欢迎的深度学习框架,具体安装参考官网:Pytorch install

旧版安装命令地址: Previous PyTorch Versions | PyTorch

需要注意,RTX30系显卡需要 torch1.10.0 以及cu111以上版本
目前一般使用 Pytorch 2.x 版本了。
我一般搭配的Python版本是3.10

常用版本

# v2.0.1 CUDA 11.8
pip install torch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 --index-url https://download.pytorch.org/whl/cu118
# v2.0.1 CPU only
pip install torch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 --index-url https://download.pytorch.org/whl/cpu

# v2.1.2 CUDA 11.8
pip install torch==2.1.2 torchvision==0.16.2 torchaudio==2.1.2 --index-url https://download.pytorch.org/whl/cu118
# v2.1.2 CPU only
pip install torch==2.1.2 torchvision==0.16.2 torchaudio==2.1.2 --index-url https://download.pytorch.org/whl/cpu

检查是否支持GPU

import torch
print(torch.cuda.is_available())  # True


tensorflow

tensorflow曾经是最流行的深度学习框架,但后面被Pytorch碾压了。它安装起来有点麻烦,需要注意很多地方。官网:TensorFlow (google.cn)

2.x版本安装

# 安装最新版本
pip install tensorflow

官方推荐的Python、cuda版本,tensorflow install

在这里插入图片描述

检查是否支持GPU

import tensorflow as tf
print('GPU',tf.test.is_gpu_available())  # True
print(tf.config.list_physical_devices('GPU'))  # 如果gpu存在则显示gpu列表,否则是空列表

1.x版本安装

推荐安装1.15版本

# cpu
pip install tensorflow==1.15
# gpu版
pip install tensorflow-gpu==1.15

# 如果是linux系统,推荐下面安装命令
conda install -c conda-forge tensorflow-gpu==1.15.0

如果是30系列显卡,而且cuda是11.x版本,一般不用安装CUDA链接库了。

如果显卡是RTX20和以下显卡,可能需要手动安装CUDA链接库。方法如下(先检查安装的是否支持GPU再考虑安装cuda链接库):

# 安装cudatoolkit(CUDA)推荐
conda install -c anaconda cudatoolkit  #-c代表--channel。 它用于指定搜索包的频道  默认最新版本
or
conda install cudatoolkit=10.0 # 若需指定版本

# 安装cudnn(推荐)
conda install -c anaconda cudnn  #若上步指定了版本,这里将做自动匹配~
or
conda install  cudnn=7.4 # 指定版本

官方推荐版本

在这里插入图片描述

检查是否支持GPU

import tensorflow as tf
print(tf.test.gpu_device_name())  # /device:GPU:0


paddlepaddle

paddlepaddle 是国内最早的深度学习框架,具体安装参考官网:paddlepaddle install

如果项目是2022年之前的旧代码,推荐使用2.4.2以下版本,因为我发现新版本2.5.x有些api更改了。具体自行尝试。

# Linux CUDA 11.2
python3 -m pip install paddlepaddle-gpu==2.4.2.post112 -f https://www.paddlepaddle.org.cn/whl/linux/mkl/avx/stable.html

# Windows CUDA 11.2
python -m pip install paddlepaddle-gpu==2.4.2.post112 -f https://www.paddlepaddle.org.cn/whl/windows/mkl/avx/stable.html

MindSpore

MindSpore是目前国内发展很快的深度学习框架,具体安装参考官网:MindSpore install


Pandas

pandas 可以通过 pip 直接安装,但直接安装不能正常读取csv、xlsx等文件,需要依赖库。

openpyxlxlrd引擎解析Excel文件。Openpyxl专门设计用于读取和写入xlsx文件。Xlrd主要用于读取较早的xls文件。
pyarrow用于解析parquet文件,Parquet文件是一种高效存储(压缩)和处理大数据的文件格式,不能直接查看。

pip install pandas pyarrow openpyxl xlrd

vLLM

vLLM目前只支持Linux系统,不支持Windows系统

默认情况下,vLLM 只会安装支持 CUDA 12.1 的版本

pip install vllm

安装支持 CUDA 11.8 版本的步骤

【1】安装xformers依赖库,xformers也是只支持Linux系统。

默认通过pip安装也是只安装支持cuda 12.x的版本。因此需要手动找到支持cuda 11.x的编译文件安装。

访问 https://anaconda.org/xformers/xformers/files, 找到对应的版本下载

在这里插入图片描述

# 1.1 下载对应版本,(可以手动在网页下载)
wget https://anaconda.org/xformers/xformers/0.0.23.post1/download/linux-64/xformers-0.0.23.post1-py310_cu11.8.0_pyt2.1.2.tar.bz2

# 1.2 卸载旧版本(如果没有安装不用卸载)
pip uninstall xformers

# 1.3 安装新版本
conda install xformers-0.0.23.post1-py310_cu11.8.0_pyt2.1.2.tar.bz2

# 1.4 验证
python -m xformers.info

在这里插入图片描述

【2】去github官方仓库下载vllm:https://github.com/vllm-project/vllm/releases

注意对应支持的Python、cuda、系统版本。

pip install xxx.whl

在这里插入图片描述


llamacpp

去官方 github 仓库下载编译好的软件:https://github.com/ggerganov/llama.cpp/releases

在这里插入图片描述

win 后面的avx是指令集名称,一般来说,最新的CPU都支持avxavx2指令集,可以去百度一下自己CPU支持的指令集


llama-cpp-python

默认是下载源码编译,但这样容易编译错误,因此可以通过下载官方编译的whl文件安装。

github地址:https://github.com/abetlen/llama-cpp-python/releases

下载最新版本即可

pip install xxx.whl

flash_attn

按照已有环境中Python、PyTorch和CUDA的版本精确下载特定的whl文件安装是最佳方式。

在这里插入图片描述

whl下载需要到官方github下载:https://github.com/Dao-AILab/flash-attention/releases

有两种版本,abiFALSEabiTRUE,这和Pytorch的编译版本有关,一般选择abiFALSE。可以通过下面代码输出选择:

import torch
# Fasle对应abiFALSE,True对应abiTRUE
a = torch._C._GLIBCXX_USE_CXX11_ABI
print(a)

安装

pip install xxx.whl

bitsandbytes

和flash_attn类似,需要考虑系统版本,有的旧版需要考虑cuda。一般安装最新版本。

整体要求
Python >= 3.8
CUDA >= 11.0

whl下载需要到官方github下载:https://github.com/TimDettmers/bitsandbytes/releases

安装

pip install xxx.whl

在这里插入图片描述

bitsandbytes的简介、安装、使用方法之详细攻略-CSDN博客


selenium

selenium是模拟浏览器运行的库,它是一个用于Web应用程序测试的工具。

它可以直接pip安装,但需要搭配浏览器驱动。

pip install selenium

chrome驱动下载,首先查看chrome浏览器版本

在这里插入图片描述

下载,注意对应的版本。

114以下版本地址:Chrome驱动网页

114以上版本地址:Chrome for Testing availability (googlechromelabs.github.io)


beautifulsoup4

用于解析HTML和XML文档的库,它提供了一种方便的方式来提取网页中的数据。

它一般搭配lxml HTML解析器使用。

它导入的名称和安装名称不一致。

# 安装
pip install beautifulsoup4 lxml
# 导入使用
from bs4 import BeautifulSoup
print(BeautifulSoup.__version__)

Python之Beautiful Soup库的简介、安装、使用方法、示例代码、注意事项等详细攻略-CSDN博客

  • 8
    点赞
  • 75
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值