0. 학습 환경.
- 나의 오랜 벗, 낡은 노트북
- cpu : i3 - 7100
- vga : 1050 4GB (아마도, 모바일)
- ram : 16G
- HDD, (Ubuntu 설치되어있는)
- Software
- UBUNTU 20.04 LTS
- CUDA : 11.0
- cuDNN: 8.2
- OPENCV: 4.40
- Anaconda, 및 기다 라이브러리들
참고)
2021.05.11 - [Python/환경설정] - [Ubuntu] 20.04x , OPENCV 설치
[Ubuntu] 20.04x , OPENCV 설치
뻘짓과 뻘짓을 반복하며 기록 1.환경 cuda 11.0 cudnn 8.2 Ubuntu 20.041 Anaconda python 2.라이브러리 설치 - 기존 패키지 업그래이드 $ sudo apt update $ sudo apt upgrade - 필요한 패키지 설치 sudo apt-get..
hidden-loca.tistory.com
사전 의문점.
- OPENCV 빌드시 CUDA를 설정하지 않고 사용했기에 문제가 생길것 같음.
- VRAM이 적어(4GB) 작동할지 안할지..
1. Darknet Cloning
# clone darknet repo
git clone https://github.com/AlexeyAB/darknet
git을 통해 받아오면 /darknet 폴더와 함께 생성된다.
2. Makefile 설정 변경
sed -i 's/OPENCV=0/OPENCV=1/' Makefile
sed -i 's/GPU=0/GPU=1/' Makefile
sed -i 's/CUDNN=0/CUDNN=1/' Makefile
sed -i 's/CUDNN_HALF=0/CUDNN_HALF=1/' Makefile
위에서부터 OPENCV, GPU, CUDNN, CUDNN_HALF 설정을 켜준다.
CPU만 사용할 경우의 설정도 있으나, CPU로 학습하는것은 사람의 인내심으로 할게 못되니 GPU, 그것도 NVIDIA GPU 사용하자.
더불어 ARCH 에서 각 그래픽카드에 맞게 설정을 해줘야 한다.
ARCH= -gencode arch=compute_35,code=sm_35 \
-gencode arch=compute_50,code=[sm_50,compute_50] \
-gencode arch=compute_52,code=[sm_52,compute_52] \
-gencode arch=compute_61,code=[sm_61,compute_61]
OS := $(shell uname)
# GeForce RTX 3070, 3080, 3090
# ARCH= -gencode arch=compute_86,code=[sm_86,compute_86]
# Kepler GeForce GTX 770, GTX 760, GT 740
# ARCH= -gencode arch=compute_30,code=sm_30
# Tesla A100 (GA100), DGX-A100, RTX 3080
# ARCH= -gencode arch=compute_80,code=[sm_80,compute_80]
# Tesla V100
# ARCH= -gencode arch=compute_70,code=[sm_70,compute_70]
# GeForce RTX 2080 Ti, RTX 2080, RTX 2070, Quadro RTX 8000, Quadro RTX 6000, Quadro RTX 5000, Tesla T4, XNOR Tensor Cores
# ARCH= -gencode arch=compute_75,code=[sm_75,compute_75]
# Jetson XAVIER
# ARCH= -gencode arch=compute_72,code=[sm_72,compute_72]
# GTX 1080, GTX 1070, GTX 1060, GTX 1050, GTX 1030, Titan Xp, Tesla P40, Tesla P4
# ARCH= -gencode arch=compute_61,code=sm_61 -gencode arch=compute_61,code=compute_61
# GP100/Tesla P100 - DGX-1
# ARCH= -gencode arch=compute_60,code=sm_60
# For Jetson TX1, Tegra X1, DRIVE CX, DRIVE PX - uncomment:
# ARCH= -gencode arch=compute_53,code=[sm_53,compute_53]
# For Jetson Tx2 or Drive-PX2 uncomment:
# ARCH= -gencode arch=compute_62,code=[sm_62,compute_62]
# For Tesla GA10x cards, RTX 3090, RTX 3080, RTX 3070, RTX A6000, RTX A40 uncomment:
# ARCH= -gencode arch=compute_86,code=[sm_86,compute_86]
Make 파일 뒤쪽에 붙어 있으니, 뒤쪽에 \ 넣고 붙여 넣어주면 될 것.
3. Make
Make 중간에 나오는 갖가지 warning은 일단 넘어가자.
4. TEST
wget https://github.com/AlexeyAB/darknet/releases/download/darknet_yolo_v3_optimal/yolov4.weights
사전 가중치를 받아온다. coco dataset 기반의 가중치이며 다음과 같이 확인해 볼 수 있다.
./darknet detector test cfg/coco.data cfg/yolov4.cfg yolov4.weights twice.jpg
darknet 폴더의 predict.jpg에 바운드된 이미지가 생성되면 성공.
QNA
Q) 윈도우에서도 가능한가요?
A) 가능합니다. 다만 C++빌드를 위해서 비주얼스튜디오를 설치하고 환경변수 잡고 Cmake 다루고 등등 신경 써야 될게 많아 Ubuntu로 진행, 또한 colab과 같이 사용하다 보니 환경맞추기가 더 편했습니다.
다음글) 학습자료 구성 및 생성.
'Back > Deep Learning' 카테고리의 다른 글
[DL][YOLOv4] YOLO v4 커스텀 데이터 학습, 예시 (3) | 2021.05.17 |
---|---|
[DL] 그래픽카드 Deep Learning bench Mark (0) | 2021.04.27 |
[OCR]TESSERACT OCR 4.0 LSTM 학습. (1) | 2021.01.25 |
[Python][Keras ][Tensorflow] Keras 모델 TFlite 변환과 최적화 (0) | 2020.11.04 |
[Tensorflow] Image classification model maker예측하기. (2) | 2020.10.20 |