65 lines
1.6 KiB
Markdown
65 lines
1.6 KiB
Markdown
# GPU 子项目
|
||
|
||
GPU 环境与 CPU 环境隔离,所有用户功能通过仓库根目录统一入口调用。
|
||
|
||
> 当前开发机器没有 NVIDIA 独立显卡,GPU 实机功能尚未验证。
|
||
|
||
## 安装
|
||
|
||
依据 PaddlePaddle 官方兼容表选择 CUDA Wheel:
|
||
|
||
```bash
|
||
python gpu/setup_env.py --cuda cu118 --dry-run
|
||
python gpu/setup_env.py --cuda cu118
|
||
```
|
||
|
||
或:
|
||
|
||
```bash
|
||
python gpu/setup_env.py --cuda cu126
|
||
```
|
||
|
||
安装脚本会:
|
||
|
||
1. 创建 `gpu/.venv`
|
||
2. 使用 PaddlePaddle CUDA 专用索引安装依赖
|
||
3. 成功后创建 `gpu/.gpu-ready`
|
||
|
||
无 `nvidia-smi` 时默认拒绝安装。`--allow-no-gpu` 仅用于准备环境或 CI,不代表环境可以推理。
|
||
|
||
## 统一入口
|
||
|
||
```bash
|
||
python ocr.py verify --device gpu
|
||
python ocr.py data/images/手写01.png --device gpu --warmup 1 --rounds 3
|
||
python ocr.py data/images/ --device gpu
|
||
python ocr.py data/documents/sample.pdf --device gpu --pdf-mode hybrid
|
||
```
|
||
|
||
统一入口只调用已经安装完成的 `gpu/.venv`,不会从默认 PyPI 重新解析 `paddlepaddle-gpu`,也不会自动回退到 CPU。
|
||
|
||
## PDF 混合模式
|
||
|
||
`--pdf-mode hybrid` 会先读取 PDF 文本层。只有需要 OCR 的页面才初始化 GPU 模型,因此纯电子 PDF 不会创建 CUDA 模型或占用大块显存。
|
||
|
||
```bash
|
||
python ocr.py data/documents/sample.pdf \
|
||
--device gpu \
|
||
--device-id 0 \
|
||
--pdf-mode hybrid
|
||
```
|
||
|
||
## 当前限制
|
||
|
||
- 仅单 GPU
|
||
- 批量图片使用单模型串行处理
|
||
- 未启用 TensorRT/FP16/BF16
|
||
- 未验证 PaddleOCR-VL-1.6 在目标显卡上的显存需求
|
||
- 未实现多 GPU 调度
|
||
|
||
目标 GPU 机器安装后,先执行:
|
||
|
||
```bash
|
||
python ocr.py verify --device gpu
|
||
```
|