3.2 KiB
3.2 KiB
CUDNN 버전 불일치 문제 - 빠른 해결 방법
문제 상황
- 설치된 CUDNN: 9.12 (
cudnn64_9.dll) - PaddlePaddle 요구: 8.x (
cudnn64_8.dll) - 오류:
cudnn64_8.dll을 찾을 수 없습니다
⚡ 당장 사용하기 (CPU 모드)
방법 1: 설정 파일에 추가 (권장)
프로그램의 설정 파일(또는 toggle_states를 관리하는 곳)에 다음 추가:
toggle_states = {
# ... 기존 설정들 ...
'force_cpu_ocr': True, # ← 이 한 줄 추가!
# ... 나머지 설정들 ...
}
방법 2: 환경 변수로 GPU 비활성화
프로그램 실행 전에 명령어 실행:
Windows (CMD):
set CUDA_VISIBLE_DEVICES=
python main.py
Windows (PowerShell):
$env:CUDA_VISIBLE_DEVICES=""
python main.py
Linux/Mac:
export CUDA_VISIBLE_DEVICES=
python main.py
방법 3: 코드에서 직접 강제 (임시)
src/modules/ocr_module.py 파일 14번째 줄 수정:
# 변경 전:
def __init__(self, logger=None, base_dir=None, gpu_manager=None, force_cpu=False):
# 변경 후:
def __init__(self, logger=None, base_dir=None, gpu_manager=None, force_cpu=True):
🚀 GPU 사용하기 (CUDNN 8 설치)
1. CUDNN 8.9.7 다운로드
- 링크: https://developer.nvidia.com/cudnn
- CUDA 11.x용 CUDNN 8.9.7 선택
- NVIDIA 계정 로그인 필요
2. 설치 (Windows)
1. 다운로드한 zip 파일 압축 해제
2. 아래 파일들을 복사:
📁 CUDNN 압축 해제 폴더
├── bin/cudnn64_8.dll
├── include/*.h
└── lib/x64/*.lib
↓ 복사 →
📁 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.x\
├── bin/cudnn64_8.dll
├── include/*.h
└── lib/x64/*.lib
3. 환경 변수 확인
- PATH에 포함되어야 함:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.x\bin
4. 프로그램 재시작
force_cpu_ocr: False설정 또는 제거- GPU 가속 사용 가능!
📊 성능 비교
| 모드 | 처리 속도 | 설정 난이도 |
|---|---|---|
| CPU | ⭐⭐ (느림) | ⭐⭐⭐ (쉬움) |
| GPU (CUDNN 8) | ⭐⭐⭐⭐⭐ (빠름) | ⭐⭐ (보통) |
✅ 정상 작동 확인
프로그램 로그에서 다음 메시지 확인:
CPU 모드:
⚠️ OCR 모듈 CPU 강제 모드 (CUDNN 버전 불일치 회피)
✅ PaddleOCR CPU 모드 초기화 성공
GPU 모드:
OCR 모듈 CUDA 모드 활성화
✅ PaddleOCR GPU 모드 초기화 성공
💡 추천
- 개발/테스트: CPU 모드 (설정 간단)
- 대량 처리: GPU 모드 (CUDNN 8 설치 필요)
- 혼용: CUDNN 8과 9 동시 설치 (다른 CUDA 버전 폴더에)
🔍 문제 해결
"여전히 같은 오류가 발생해요"
- 프로그램 완전 종료 후 재시작
- Python 캐시 삭제:
__pycache__폴더 삭제 - 환경 변수가 제대로 설정되었는지 확인
"CPU 모드가 너무 느려요"
- CUDNN 8.x 설치 권장 (위 가이드 참고)
- 또는 배치 처리로 효율성 향상
"GPU와 CPU를 상황에 따라 전환하고 싶어요"
force_cpu_ocr설정을 UI에서 토글 가능하도록 구현- 프로그램 재시작 없이 전환 가능