创建CUDA11.8环境部署DeepSeek-OCR

完整部署步骤:Linux下保留系统CUDA12.6,通过Conda创建CUDA11.8环境部署DeepSeek-OCR

核心逻辑:利用Conda环境隔离性,在新环境中安装CUDA11.8 toolkit,系统CUDA12.6完全不受影响,所有依赖均在隔离环境内安装。

步骤1:安装/验证Conda(Anaconda/Miniconda)

如果已安装Conda,跳过此步;未安装则执行:

下载Miniconda(Linux x86_64)

wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh

执行安装(按提示操作,建议同意将conda加入PATH)

bash Miniconda3-latest-Linux-x86_64.sh

刷新环境变量

source ~/.bashrc

验证conda

conda --version

步骤2:创建Conda隔离环境(CUDA11.8 + Python3.12.9)

1. 创建环境(名称:deepseek-ocr,Python3.12.9)

conda create -n deepseek-ocr python=3.12.9 -y

2. 激活环境

conda activate deepseek-ocr

3. 安装Conda版CUDA11.8 toolkit(仅环境内生效,不影响系统CUDA12.6)

conda install -c conda-forge cudatoolkit=11.8 -y

4. 验证环境内CUDA版本(关键!输出需包含cudatoolkit=11.8)

conda list | grep cudatoolkit

步骤3:克隆DeepSeek-OCR仓库

克隆仓库

git clone https://github.com/deepseek-ai/DeepSeek-OCR.git

进入仓库根目录

cd DeepSeek-OCR

步骤4:安装PyTorch(CUDA11.8版本)

严格匹配仓库要求的torch2.6.0+cu118,指定PyTorch官方cu118源:
pip install torch2.6.0 torchvision0.21.0 torchaudio2.6.0 --index-url https://download.pytorch.org/whl/cu118

验证Torch关联的CUDA版本(必须输出11.8和True)

python -c "import torch; print('Torch CUDA版本:', torch.version.cuda); print('CUDA可用:', torch.cuda.is_available())"

若输出不是11.8,删除环境重新创建,或检查pip源是否被代理干扰。

步骤5:安装vllm 0.8.5+cu118

先下载对应CUDA11.8的vllm whl包,再安装:

下载vllm-0.8.5+cu118适配包(Python3.8+,manylinux1_x86_64)

wget https://github.com/vllm-project/vllm/releases/download/v0.8.5/vllm-0.8.5+cu118-cp38-abi3-manylinux1_x86_64.whl

安装下载的vllm包

pip install vllm-0.8.5+cu118-cp38-abi3-manylinux1_x86_64.whl

若下载慢,可手动从vllm Release页下载对应whl到本地,再执行pip install 本地whl路径。

步骤6:安装其他依赖(requirements + flash-attn)

安装仓库依赖

pip install -r requirements.txt

安装flash-attn 2.7.3(需编译,先装系统编译工具)

sudo apt update && sudo apt install -y gcc g++ build-essential # Ubuntu/Debian

CentOS/RHEL:sudo yum install -y gcc gcc-c++ make

安装flash-attn(关键参数--no-build-isolation)

pip install flash-attn==2.7.3 --no-build-isolation

步骤7:配置运行参数(修改config.py

进入vllm推理目录,修改核心路径和参数:

cd DeepSeek-OCR-master/DeepSeek-OCR-vllm

编辑config.py(用vim/nano/VSCode等)

vim config.py

修改以下关键参数(示例):

模型路径(自动从Hugging Face下载,也可指定本地路径)

MODEL_PATH = 'deepseek-ai/DeepSeek-OCR'

输入路径:改为你的测试文件(图片/jpg/png 或 PDF)

INPUT_PATH = '/path/to/your/test.jpg' # 或 /path/to/your/test.pdf

输出路径:自定义输出目录(自动创建)

OUTPUT_PATH = '/path/to/your/output_dir'

其他参数(按需调整,GPU内存不足时降低)

MAX_CONCURRENCY = 20 # 默认100,低配GPU改为20/10

MAX_CROPS = 4 # 默认6,低配GPU改为4/2

CROP_MODE = True # 保持默认

步骤8:运行测试(图片/PDF推理)

确保始终在deepseek-ocr Conda环境中执行:

激活环境(若已激活可跳过)

conda activate deepseek-ocr

1. 单图片推理(流式输出)

python run_dpsk_ocr_image.py

2. PDF推理(A100-40G约2500tokens/s)

python run_dpsk_ocr_pdf.py

3. 批量评估(基准测试)

python run_dpsk_ocr_eval_batch.py

关键问题解决(CUDA隔离+常见报错)

  1. 解决ptxas路径报错(TRITON_PTXAS_PATH)
    由于系统CUDA是12.6,Conda环境内CUDA11.8的ptxas需手动指定:

修改run_dpsk_ocr_image.py/run_dpsk_ocr_pdf.py的开头CUDA判断逻辑

if torch.version.cuda == '11.8':

自动获取Conda环境内的ptxas路径,无需硬编码

os.environ["TRITON_PTXAS_PATH"] = f"{os.environ['CONDA_PREFIX']}/bin/ptxas"

  1. GPU内存不足

降低config.py中MAX_CONCURRENCY(如10)、MAX_CROPS(如2);

修改脚本中llm = LLM(...)的gpu_memory_utilization为0.8(默认0.9)。

  1. Transformers版本冲突

仓库说明无需担心,但若报错可升级:

pip install transformers==4.51.1 -U

核心说明

CUDA隔离性:Conda环境内的cudatoolkit=11.8仅作用于该环境,系统nvcc --version仍显示12.6,完全不影响其他应用;

模型下载:首次运行会自动从Hugging Face下载deepseek-ai/DeepSeek-OCR模型,需保证网络通畅;

环境复用:后续使用只需执行conda activate deepseek-ocr即可,无需重复安装依赖。

相关推荐
HyperAI超神经7 小时前
在线教程|DeepSeek-OCR 2公式/表格解析同步改善,以低视觉token成本实现近4%的性能跃迁
开发语言·人工智能·深度学习·神经网络·机器学习·ocr·创业创新
蛋王派9 小时前
DeepSeek-OCR-v2 模型解析和部署应用
人工智能·ocr
小白狮ww13 小时前
要给 OCR 装个脑子吗?DeepSeek-OCR 2 让文档不再只是扫描
人工智能·深度学习·机器学习·ocr·cpu·gpu·deepseek
智慧地球(AI·Earth)1 天前
DeepSeek架构新探索!开源OCR 2诞生!
架构·ocr
OpenBayes1 天前
教程上新|DeepSeek-OCR 2公式/表格解析同步改善,以低视觉token成本实现近4%的性能跃迁
人工智能·深度学习·目标检测·机器学习·大模型·ocr·gpu算力
PPIO派欧云1 天前
PPIO上线GLM-OCR:0.9B参数SOTA性能,支持一键部署
人工智能·ai·大模型·ocr·智谱
东华果汁哥1 天前
【大模型 OCR】GLM-OCR 使用教程:从入门到部署
ocr
h7ml1 天前
查券返利机器人的OCR识别集成:Java Tesseract+OpenCV优化图片验证码的自动解析方案
java·机器人·ocr
Funny_AI_LAB2 天前
GLM-OCR发布:性能SOTA,超越PaddleOCR-VL-1.5?
人工智能·计算机视觉·语言模型·ocr
码科智能2 天前
OCR在真实场景“翻车”?面对跨页表格、密集表格、扭曲文档等难题,这个OCR文档解析工具太6了!
ocr