일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- paddlepaddleocr
- postbuffer
- 도커
- pp-ocr한국어
- docker container
- ppocr
- gitpostbuffer
- paddlepaddlegpu
- 우분투22.04
- addingembedded
- 도커이미지
- ppocrexportmodel
- matplotlib한글깨짐
- python시각화
- paddleocr
- paddlemultigpu
- paddleocr한국어
- python데이터시각화
- paddlepaddle
- paddleocrgpu
- paddleocr후기
- opencv오류
- PyTorch
- vscodesshkey
- gitrepository
- python
- Docker
- dockergpu
- docker사용법
- 우분투
- Today
- Total
D_ontory : 개발스토리
[paddleOCR] paddleOCR fine-tuning gpu error ValueError: substring not found 본문
[paddleOCR] paddleOCR fine-tuning gpu error ValueError: substring not found
D_on 2024. 5. 29. 14:05paddleocr 을 사용하여 한국어 ocr finetuning 학습을 진행하려 한다.
multi-gpu 사용하여 학습 진행할 예정이었는데, 내가 사용할 gpu는 2,3번 gpu 였다.
애초에 docker container 생성할 때도 (nvidia-docker container 사용) 사용 gpu를 2,3으로 제한해두었는데 학습을 진행하려고하니 gpu 관련 오류가 떴다.
paddleOCR fine-tuning gpu error ValueError: substring not found
최종적으로는 gpu 오류가 맞았고,
해당 컨테이너에서 nvidia-smi 를 통해 gpu 번호를 확인해 보았다.
총 4개의 gpu 중 2,3을 사용 gpu로 가지고왔는데 컨테이너 내에서 nvidia-smi 로 확인해보니 0,1 로 뜬다.
나는 이걸 나중에 알아차렸고, paddlepaddle-gpu 버전이 설치가 되어야 한다는 것을 알았다.
Error 해결
paddlepaddle 전용 도커 컨테이너가 있길래 그 컨테이너로 새롭게 컨테이너를 생성하여 학습에 성공했다.
<최신 버전 paddle 전용 도커 컨테이너>
docker pull paddlepaddle/paddle:2.6.1-gpu-cuda12.0-cudnn8.9-trt8.6
paddlepaddle gpu 사용하려면 cuda 와 cudnn 버전이 paddle 버전과 잘 맞아야 하기 때문에 애초에 잘 맞춰져서 있는 도커 이미지를 사용하여 컨테이너를 생성하는것이 훨씬 효율적인 것 같다.
(이상한 라이브러리 버전 맞추기를 안해도 된다.)
Paddle docker 컨테이너 생성
docker run --gpus all -it --shm-size=64G -v /etc/localtime:/etc/localtime -v /home/workspace/:/workspace(볼륨연결)/ --name name paddlepaddle/paddle:2.6.1-gpu-cuda12.0-cudnn8.9-trt8.6
이번에는 그냥 --gpus all 로 컨테이너를 만들어서 train 코드 실행할때 gpu를 제한하기로 했다.
학습 Train Bash
CUDA_VISIBLE_DEVICES=2,3 python -m paddle.distributed.launch --gpus '2,3' ./tools/train.py -c /workspace/PaddleOCR/pretrain_models/korean_PP-OCRv3_rec_train/config.yml -o Global.pretrained_model=/workspace/PaddleOCR/pretrain_models/korean_PP-OCRv3_rec_train/best_accuracy Global.save_inference_dir=/workspace/PaddleOCR/inference/
해당 명령어로 학습 성공!
'Project > OCR' 카테고리의 다른 글
PaddleOCR export_model.py : TypeError: can only concatenate list (not "NoneType") to list (0) | 2024.07.22 |
---|---|
[OCR] EasyOCR vs Paddle OCR 한국어 인식 비교하기 (1 - PaddleOCR) (0) | 2024.06.04 |