first commit
This commit is contained in:
@@ -17,8 +17,8 @@ model = model.eval().cuda().to(torch.bfloat16)
|
|||||||
|
|
||||||
# prompt = "<image>\nFree OCR. "
|
# prompt = "<image>\nFree OCR. "
|
||||||
prompt = "<image>\n<|grounding|>Convert the document to markdown. "
|
prompt = "<image>\n<|grounding|>Convert the document to markdown. "
|
||||||
image_file = 'your_image.jpg'
|
image_file = '/workspace/2025-27484-M21472.pdf'
|
||||||
output_path = 'your/output/dir'
|
output_path = '/workspace/output_hf'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -21,8 +21,10 @@ MODEL_PATH = 'deepseek-ai/DeepSeek-OCR' # change to your model path
|
|||||||
# .jpg, .png, .jpeg: run_dpsk_ocr_image.py;
|
# .jpg, .png, .jpeg: run_dpsk_ocr_image.py;
|
||||||
# Omnidocbench images path: run_dpsk_ocr_eval_batch.py
|
# Omnidocbench images path: run_dpsk_ocr_eval_batch.py
|
||||||
|
|
||||||
INPUT_PATH = ''
|
FILE_NAME='2025-27484-M21472.pdf'
|
||||||
OUTPUT_PATH = ''
|
|
||||||
|
INPUT_PATH = f'/workspace/2025-27484-M21472.pdf'
|
||||||
|
OUTPUT_PATH = '/workspace/output/'
|
||||||
|
|
||||||
PROMPT = '<image>\n<|grounding|>Convert the document to markdown.'
|
PROMPT = '<image>\n<|grounding|>Convert the document to markdown.'
|
||||||
# PROMPT = '<image>\nFree OCR.'
|
# PROMPT = '<image>\nFree OCR.'
|
||||||
|
|||||||
10
DeepSeek-OCR-master/DeepSeek-OCR-vllm/requirements.txt
Normal file
10
DeepSeek-OCR-master/DeepSeek-OCR-vllm/requirements.txt
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
transformers
|
||||||
|
tokenizers
|
||||||
|
PyMuPDF
|
||||||
|
img2pdf
|
||||||
|
einops
|
||||||
|
easydict
|
||||||
|
addict
|
||||||
|
Pillow
|
||||||
|
numpy
|
||||||
|
matplotlib
|
||||||
Binary file not shown.
48
Dockerfile.hf
Normal file
48
Dockerfile.hf
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
# PyTorch 2.6.0 + CUDA 12.6 + cuDNN9
|
||||||
|
FROM pytorch/pytorch:2.6.0-cuda12.6-cudnn9-devel
|
||||||
|
|
||||||
|
ENV DEBIAN_FRONTEND=noninteractive \
|
||||||
|
HF_HOME=/workspace/.cache/huggingface \
|
||||||
|
CUDA_HOME=/usr/local/cuda \
|
||||||
|
LD_LIBRARY_PATH=/usr/local/cuda/lib64:${LD_LIBRARY_PATH} \
|
||||||
|
PIP_DISABLE_PIP_VERSION_CHECK=1 \
|
||||||
|
PYTHONUNBUFFERED=1 \
|
||||||
|
HF_HUB_DISABLE_TELEMETRY=1
|
||||||
|
|
||||||
|
ARG TORCH_CUDA_ARCH_LIST=80
|
||||||
|
ENV TORCH_CUDA_ARCH_LIST=${TORCH_CUDA_ARCH_LIST}
|
||||||
|
ENV TRITON_PTXAS_PATH=/usr/local/cuda/bin/ptxas
|
||||||
|
|
||||||
|
WORKDIR /workspace
|
||||||
|
|
||||||
|
# 빌드 도구
|
||||||
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||||
|
git build-essential ninja-build cmake \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
RUN python -m pip install -U pip setuptools wheel packaging ninja
|
||||||
|
|
||||||
|
# 명시 재설치(일관성)
|
||||||
|
RUN pip install --no-cache-dir \
|
||||||
|
torch==2.6.0 torchvision==0.21.0 torchaudio==2.6.0
|
||||||
|
|
||||||
|
# DeepSeek-OCR(HF) 호환 스택
|
||||||
|
RUN pip install --no-cache-dir \
|
||||||
|
"transformers==4.43.3" \
|
||||||
|
"accelerate==0.33.0" \
|
||||||
|
"tokenizers==0.19.1" \
|
||||||
|
"numpy==1.26.4" \
|
||||||
|
"safetensors>=0.4.2" \
|
||||||
|
"einops" "timm>=0.9"
|
||||||
|
|
||||||
|
# flash-attn 2.7.3 (CUDA 12.6에서 빌드)
|
||||||
|
RUN pip install --no-cache-dir --no-build-isolation --no-binary=flash-attn flash-attn==2.7.3
|
||||||
|
|
||||||
|
# vLLM 제거(혹시 들어오더라도 충돌 방지)
|
||||||
|
RUN pip uninstall -y vllm || true
|
||||||
|
|
||||||
|
# OpenCV ↔ numpy 1.26 호환 버전 고정
|
||||||
|
RUN pip install --no-cache-dir "opencv-python-headless==4.8.1.78"
|
||||||
|
|
||||||
|
# 앱 소스
|
||||||
|
COPY DeepSeek-OCR-master/DeepSeek-OCR-hf/ /workspace/DeepSeek-OCR-hf/
|
||||||
41
Dockerfile.vllm
Normal file
41
Dockerfile.vllm
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
# PyTorch 2.6.0 + CUDA 12.6 + cuDNN9
|
||||||
|
FROM pytorch/pytorch:2.6.0-cuda12.6-cudnn9-devel
|
||||||
|
|
||||||
|
# 기본 환경 변수
|
||||||
|
ENV DEBIAN_FRONTEND=noninteractive \
|
||||||
|
HF_HOME=/workspace/.cache/huggingface \
|
||||||
|
CUDA_HOME=/usr/local/cuda \
|
||||||
|
LD_LIBRARY_PATH=/usr/local/cuda/lib64:${LD_LIBRARY_PATH} \
|
||||||
|
PIP_DISABLE_PIP_VERSION_CHECK=1 \
|
||||||
|
PYTHONUNBUFFERED=1
|
||||||
|
|
||||||
|
WORKDIR /workspace
|
||||||
|
|
||||||
|
# 필수 빌드 도구
|
||||||
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||||
|
git build-essential ninja-build \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
# pip 툴업
|
||||||
|
RUN python -m pip install -U pip setuptools wheel packaging ninja
|
||||||
|
|
||||||
|
# (베이스 이미지에 torch 2.6.0이 이미 포함)
|
||||||
|
# torchvision/torchaudio 버전을 보장하려면 아래 라인을 사용하세요.
|
||||||
|
# cu126 인덱스가 없을 수 있으므로 실패해도 빌드가 계속되게 처리합니다.
|
||||||
|
RUN pip install --no-cache-dir \
|
||||||
|
torchvision==0.21.0 torchaudio==2.6.0 \
|
||||||
|
--extra-index-url https://download.pytorch.org/whl/cu126 || \
|
||||||
|
echo "Skip reinstalling torchvision/torchaudio (fallback to base image)"
|
||||||
|
|
||||||
|
# 프로젝트 의존성 설치
|
||||||
|
COPY requirements.txt /tmp/requirements.txt
|
||||||
|
RUN pip install --no-cache-dir -r /tmp/requirements.txt
|
||||||
|
|
||||||
|
# vLLM 0.8.5 고정 (CUDA 12.x용 wheel 자동 선택)
|
||||||
|
RUN pip install --no-cache-dir vllm==0.8.5
|
||||||
|
|
||||||
|
# FlashAttention (CUDA 12.6에서 빌드)
|
||||||
|
RUN pip install --no-cache-dir flash-attn==2.7.3 --no-build-isolation
|
||||||
|
|
||||||
|
# 작업 디렉터리 유지
|
||||||
|
WORKDIR /workspace
|
||||||
42
docker-compose.yml
Normal file
42
docker-compose.yml
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
services:
|
||||||
|
deepseek_ocr_vllm:
|
||||||
|
build:
|
||||||
|
context: .
|
||||||
|
dockerfile: Dockerfile.vllm
|
||||||
|
image: deepseek-ocr-vllm:cu126
|
||||||
|
container_name: deepseek_ocr_vllm
|
||||||
|
working_dir: /workspace
|
||||||
|
volumes:
|
||||||
|
- ./DeepSeek-OCR-master/DeepSeek-OCR-vllm:/workspace
|
||||||
|
gpus: all
|
||||||
|
shm_size: "8g"
|
||||||
|
ipc: "host"
|
||||||
|
environment:
|
||||||
|
- HF_HOME=/workspace/.cache/huggingface
|
||||||
|
- CUDA_HOME=/usr/local/cuda
|
||||||
|
- LD_LIBRARY_PATH=/usr/local/cuda/lib64:${LD_LIBRARY_PATH}
|
||||||
|
- PIP_DISABLE_PIP_VERSION_CHECK=1
|
||||||
|
- PYTHONUNBUFFERED=1
|
||||||
|
tty: true
|
||||||
|
entrypoint: ["/bin/bash"]
|
||||||
|
|
||||||
|
# deepseek_ocr_hf:
|
||||||
|
# build:
|
||||||
|
# context: .
|
||||||
|
# dockerfile: Dockerfile.hf
|
||||||
|
# image: deepseek-ocr-hf:cu126
|
||||||
|
# container_name: deepseek_ocr_hf
|
||||||
|
# working_dir: /workspace
|
||||||
|
# volumes:
|
||||||
|
# - ./DeepSeek-OCR-hf:/workspace
|
||||||
|
# gpus: all
|
||||||
|
# shm_size: "8g"
|
||||||
|
# ipc: "host"
|
||||||
|
# environment:
|
||||||
|
# - HF_HOME=/workspace/.cache/huggingface
|
||||||
|
# - CUDA_HOME=/usr/local/cuda
|
||||||
|
# - LD_LIBRARY_PATH=/usr/local/cuda/lib64:${LD_LIBRARY_PATH}
|
||||||
|
# - PIP_DISABLE_PIP_VERSION_CHECK=1
|
||||||
|
# - PYTHONUNBUFFERED=1
|
||||||
|
# tty: true
|
||||||
|
# entrypoint: ["/bin/bash"]
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
transformers==4.46.3
|
transformers
|
||||||
tokenizers==0.20.3
|
tokenizers
|
||||||
PyMuPDF
|
PyMuPDF
|
||||||
img2pdf
|
img2pdf
|
||||||
einops
|
einops
|
||||||
@@ -7,3 +7,4 @@ easydict
|
|||||||
addict
|
addict
|
||||||
Pillow
|
Pillow
|
||||||
numpy
|
numpy
|
||||||
|
matplotlib
|
||||||
Reference in New Issue
Block a user