MonkeyOCRv2-Parsing on CPU
September 2, 2026 ยท View on GitHub
This guide covers running MonkeyOCRv2 Document Parsing on CPU. For GPU inference, see Document Parsing in this repository.
CPU inference loads only the parsing checkpoint passed to -m / --model-path (MonkeyOCRv2-B-Parsing or MonkeyOCRv2-S-Parsing). Do not download MonkeyOCRv2-B-Parsing-DFlash for this guide: that draft model is used only for GPU vLLM speculative decoding.
Setup MonkeyOCRv2-Parsing(Windows)
1. Clone the repository
git clone https://github.com/Yuliang-Liu/MonkeyOCRv2.git
cd MonkeyOCRv2
2. Create virtual environment
py -3.11 -m venv .venv
3. Install dependencies
.\.venv\Scripts\python.exe -m pip install --upgrade pip
.\.venv\Scripts\python.exe -m pip install torch==2.5.1 torchvision==0.20.1 --index-url https://download.pytorch.org/whl/cpu
.\.venv\Scripts\python.exe -m pip install -r parsing\requirements.txt
.\.venv\Scripts\python.exe -m pip install transformers==4.57.1 accelerate==1.11.0 huggingface_hub qwen_vl_utils opencv-python einops
4. Download model weights
From ModelScope (faster in China):
.\.venv\Scripts\python.exe -m pip install modelscope
python download_model.py -t modelscope -n MonkeyOCRv2-B-Parsing # or MonkeyOCRv2-S-Parsing
Or from HuggingFace:
python download_model.py -n MonkeyOCRv2-B-Parsing # or MonkeyOCRv2-S-Parsing
Parse using CLI
cd .\parsing\
# Parse a single document
..\.venv\Scripts\python.exe cpu\parse_cpu.py `
-i ..\images_test\vqa.png `
-m ..\model_weight\MonkeyOCRv2-B-Parsing `
-o output\test_cpu
# Parse a directory containing PDFs or images
..\.venv\Scripts\python.exe cpu\parse_cpu.py `
-i ..\images_test `
-m ..\model_weight\MonkeyOCRv2-B-Parsing `
-o output\test_cpu
Serve with Web Demo
cd .\parsing\
..\.venv\Scripts\python.exe cpu\gradio_demo_cpu.py `
--model-path ..\model_weight\MonkeyOCRv2-B-Parsing `
--output-dir output\demo_cpu_outputs `
--demo-server-name 127.0.0.1 `
--demo-server-port 8891 `
--demo-concurrency 1 `
--page-max-inflight 1
Setup MonkeyOCRv2-Parsing(Linux)
1. Clone the repository
git clone https://github.com/Yuliang-Liu/MonkeyOCRv2.git
cd MonkeyOCRv2
2. Create virtual environment
conda create -n MonkeyOCRv2Parsing_CPU python=3.11 -y
conda activate MonkeyOCRv2Parsing_CPU
3. Install dependencies
pip install torch==2.5.1 torchvision==0.20.1 --index-url https://download.pytorch.org/whl/cpu
pip install -r parsing/requirements.txt
pip install transformers==4.57.1 accelerate==1.11.0 huggingface_hub qwen_vl_utils opencv-python einops
4. Download model weights
From ModelScope (faster in China):
pip install modelscope
python download_model.py -t modelscope -n MonkeyOCRv2-B-Parsing # or MonkeyOCRv2-S-Parsing
Or from HuggingFace:
python download_model.py -n MonkeyOCRv2-B-Parsing # or MonkeyOCRv2-S-Parsing
Parse using CLI
cd parsing
# Parse a single document
python cpu/parse_cpu.py \
-i ../images_test/vqa.png \
-m ../model_weight/MonkeyOCRv2-B-Parsing \
-o output/test_cpu
# Parse a directory containing PDFs or images
python cpu/parse_cpu.py \
-i ../images_test \
-m ../model_weight/MonkeyOCRv2-B-Parsing \
-o output/test_cpu
Serve with Web Demo
cd parsing
python cpu/gradio_demo_cpu.py \
--model-path ../model_weight/MonkeyOCRv2-B-Parsing \
--output-dir output/demo_cpu_outputs \
--demo-server-name 127.0.0.1 \
--demo-server-port 8891 \
--demo-concurrency 1 \
--page-max-inflight 1
# Show help messages
python cpu/gradio_demo_cpu.py -h