YoloV4 CentOS7 개발환경 설치 정보 정리 메뉴얼
본문 바로가기
VAS/Centos 7 개발환경 구축

YoloV4 CentOS7 개발환경 설치 정보 정리 메뉴얼

by Migos 2021. 11. 4.
반응형

실제 디플로이 할 현장에 하드웨어(데스크탑)이 준비되었고, 가서 개발환경 세팅 및 구동만 하면 되는 상황.

  • GPU: RTX3080ti

 

1. 리눅스(Centos 7) 설치

1.1. 웹서버에서 설치파일(CentOS-7-x86_64-DVD-2009.iso) 다운로드.

  • USB로 이미 설치파일이 있는 경우에는 1.2. 로 이동
!wget https://download941.mediafire.com/16t8mq4opdwg/0xktichyovwn3cc/CentOS-7-x86_64-DVD-2009.iso

 

1.2. 다운로드 받은 CentOS7.iso 설치파일을 가지고 rufus 프로그램을 사용하여 설치용 USB 만듦.

참고 자료: https://mainia.tistory.com/5945

 

1.3. 본체에 USB를 꽂고 부팅(*F1 or F2 or F12 버튼을 클릭하면 부팅메뉴로 진입)

 

1.4. user : dpw, pw: 1234 등으로 설정하고 설치 마무리.

 

1.5. 설치 완료 후 설정

1.5.1. 커널 부팅순서 변경

  • 최신 버전의 커널이 설치된 상태로만 있으면 부팅 시 기존에 있던 옛날 버전의 커널로 부팅 되기 때문에 순서를 변경 해주어야 함.
  • 터미널 열기(Ctrl + Alt + T) 
su
cat /boot/grub2/grub.cfg | grep menuentry | cut -d "'" -f2
  • 출력되는 커널을 보고 원하는 커널명을 바꿔준다.
grub2-set-default "CentOS Linux (3.10.0-1160.el7.x86_64) 7 (Core)"
grub2-editenv list

 

  1.5.2. Blank screen 해제(5  minutes -> Never)

black screen ->
change Blank screen to Never

 

2. 그래픽드라이버 설치

2.1. 웹서버에서 설치파일(NVIDIA-Linux-x86_64-470.63.01.run) 다운로드.

  • USB로 이미 설치파일이 있는 경우에는 2.2. 로 이동
!wget https://download1514.mediafire.com/n6yvjro13mwg/11rdxfd807vf9b6/NVIDIA-Linux-x86_64-470.63.01.run

2.2. 터미널 열기(Ctrl + Alt + T) 

# 관리자권한을 위해 su 입력 후 user 비밀번호 입력
su 

# Terminal 모드로 진입(검은 화면으로 전환됨)
/sbin/init 3

# 다운로드받은 설치파일(NVIDIA-Linux-x86_64-470.63.01.run)경로로 이동
cd /home/dpw/installation/graphicdriver # 예시

# 설치파일 실행
sudo bash NVIDIA-Linux-x86_64-470.63.01.run

# Terminal 모드 나오기
/sbin/init 5

https://www.advancedclustering.com/act_kb/installing-nvidia-drivers-rhel-centos-7/

 

 

2.3. 설치확인

nvidia-smi

 

3. CUDA 설치

3.1. 웹서버에서 설치파일 (cuda_11.2.0_460.27.04_linux.run) 다운로드 및 설치

  • USB로 이미 설치파일이 있는 경우에는 2.2. 로 이동
# [OPTION 1] In case of downloading from web
!wget https://download944.mediafire.com/kk4kpbamonzg/yxxa1fau52jh0hi/cuda_11.2.0_460.27.04_linux.run

 

3.2. 다운받은 설치파일 경로로 이동해서 설치 실행

chmod 777 cuda_11.2.0_460.27.04_linux.run
sudo sh cuda_11.2.0_460.27.04_linux.run

 

3.2.1. CUDA Installer 실행되면 기본적으로 엔터를 계속 누름

  • [X] Driver <<이부분 해제 (스페이스바 누르기)

 

3.2.2. 환경변수설정 파일 열기

sudo vi ~/.bashrc

3.2.3. 1) "i" 버튼 누르고 - 2) 아래 환경변수 복사 붙여넣기 - 3) "esc" 버튼 누르고 4) ":wq" - 5) 엔터

export PATH=/usr/local/cuda-11.2/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-11.2/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

3.2.4. 환경변수 등록

source ~/.bashrc

3.2.5. yum 업데이트 후 재부팅

sudo yum update
reboot

3.2.6. CUDA 설치확인

nvcc --version

*오류나는 경우 수동으로 해결. *삭제방법: https://hansonminlearning.tistory.com/84

 

4. cuDNN 설치

4.1. 웹서버에서 설치파일 (cudnn-11.2-linux-x64-v8.1.0.77.tgz) 다운로드.

  • USB로 이미 설치파일이 있는 경우에는 4.2. 로 이동
wget "https://download1591.mediafire.com/40utph6jsy9g/m2trolitkdylmr2/cudnn-11.2-linux-x64-v8.1.0.77.tgz"

4.2. 다운받은 설치파일 압축해재 및 권한 변경.

tar -xzvf cudnn-11.2-linux-x64-v8.1.0.77.tgz
chown dpw cuda
chown -R dpw cuda

4.3. cuDNN 설치 및 반영

cd cuda

cp include/cudnn* /usr/local/cuda-11.2/include

cp lib64/libcudnn* /usr/local/cuda-11.2/lib64/

chmod a+r /usr/local/cuda-11.2/lib64/libcudnn*

4.4. 환경변수설정 파일 열기

vi ~/.bashrc

4.5. 1) "i" 버튼 누르고 - 2) 아래 환경변수 복사 붙여넣기 - 3) "esc" 버튼 누르고 4) ":wq" - 5) 엔터

export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64"
export CUDA_HOME=/usr/local/cuda

4.6. 환경변수 등록

source ~/.bashrc

 

4.7. cuDNN 설치확인

cat /usr/local/cuda-11.2/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

--
< 결과 >
#define CUDNN_MAJOR 8
#define CUDNN_MINOR 1
#define CUDNN_PATCHLEVEL 0
--
#define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)

#endif /* CUDNN_VERSION_H */

*이전 버전인 cudnn 7 버전은 cudnn_version.h 가 아니라 cudnn.h 이니 잘 기억해 두시기 바랍니다.

 

5. OpenCV 설치

5.1. OpenCV 2.4.5 설치 및 반영 

sudo yum install opencv opencv-devel opencv-python

5.2. OpenCV 설치확인

pkg-config --modversion opencv

 

6. Python 설치

6.1. Python 3.6.8 설치 및 반영

yum install python3

6.2. Python 설치확인

python3 --version

6.3 Python 가상환경 생성 (Python virtual environment)

# 가상환경 폴더 생성 후 경로이동
cd /home/dpw
mkdir python
cd python

# 가상환경 생성
python3 -m venv VAS

6.4. Python 가상환경 실행

source /home/dpw/python/VAS/bin/activate

 

6.5. Python 라이브러리 설치

pip3 install --upgrade pip
pip3 install numpy
pip3 install opencv-python
pip3 install scipy
pip3 install requests
pip3 install jaydebeapi
pip3 install flask
pip3 install gputil

 

7. Darknet 설치

7.1(방법 1). AlexeyAB github에서 받은 후 일부 수정해서 make 하는 방법.

  • USB로 이미 설치파일이 있는 경우에는 7.2. 로 이동
  1. Github에서 clone
  2. Makefile 교체 (미리 업로드해 둔 Web server에서 다운로드)
  3. src폴더 전체 교체 (미리 업로드해 둔 Web server에서 다운로드-압축해제)
  4. src.zip 파일 unzip command가 먹히지 않아 수동으로 압축을 해제해주고 darknet 폴더에 붙어넣어준다.
  5. make
# darknet 설치할 경로 이동
cd /home/dpw
git clone https://github.com/AlexeyAB/darknet.git

# darknet 폴더 권한 변경
chown dpw darknet
chown -R dpw darknet

# darknet 폴더 안으로 이동
cd darknet

# 기존 Makefile, src(폴더) 삭제
rm Makefile
rm -rf src

# weight파일 다운로드
wget https://github.com/AlexeyAB/darknet/releases/download/darknet_yolo_v3_optimal/yolov4.weights

# 미리 준비해둔 Makefile, src(폴더)는 아래 웹하드에서 직접 다운받아서 darknet 폴더에 붙여넣기한다.
make

 

7.1.1. darknet 설치 확인

./darknet detect cfg/yolov4.cfg yolov4.weights data/dog.jpg

 

7.2(방법 2). 미리만들어놓은 darknet(make하기 전까지) USB에 백업해두고 복붙해서 make 하는 방법.

  • USB에서 최초에 옮겨놓은 /home/installation/darknet 폴더 경로로 이동해서 make 해주면 된다.

 

7.2.1. 설치확인(/home/instaation/darknet 경로에서 아래 실행)

./darknet detect cfg/yolov4.cfg yolov4.weights data/dog.jpg

이 화면이 나온다면 성공..

8. VS Code, Git 설치

8.1. VS Code 설치

sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
sudo sh -c 'echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/vscode.repo'
yum check-update -y
sudo yum install -y code

*vscode 실행 후 Project Manager extension  설치하기.

참고: https://geometery-programing.tistory.com/57

 

8.2. Git 1.8.3.1 설치

sudo yum install git==1.8.3.1

8.2.1. 설치확인

git --version

 

9. 원격프로그램 설치

  • Teamviewer (방법1) : rpm 파일 없는 경우
sudo rpm --import  https://dl.tvcdn.de/download/linux/signature/TeamViewer2017.asc 
sudo yum install epel-release
wget https://download.teamviewer.com/download/linux/teamviewer.x86_64.rpm
sudo yum localinstall ./teamviewer.x86_64.rpm
  • Teamviewer (방법2) : rpm 파일 있을 경우
sudo rpm -i teamviewer_15.20.6.x86_64.rpm

 

10. 네트워크 설정

  • 리눅스 우측 상단 전원버튼 - 와이파이 클릭 - Wi-fi Setting - 동그란 톱니바퀴버튼 - ipv4탭 - 172.21.4.153  255.255.255.0 172.20.4.1
  • DNS 아래부분에 8.8.8.8, 172.214.131.3
  • Automatic 끄기 - Apply버튼 클릭

11. VAS Test

11.1. 테스트용 git clone

cd /home/dpw
mkdir code
cd code
git clone https://github.com/anamozov/lvas.git
cd /home/dpw/code/lvas/data/Networks/Network1

 

11.2. plate.names 파일 열어서 names 경로 수정

 

11.3. src 폴더로 이동 - main.py 열어서 경로 수정

  • 변경 포인트: video_path, cfg, weight, meta

 

11.4. darknet.py 열어서 libdarknet.so 경로 수정

  • make 완료된 darknet 폴더에 가보면 libdarknet.so가 있다.

11.5. demo 실행

python3 main.py

 

12. VLC player

su -
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum install https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm
yum install vlc
y

 

12.1 Codec install

yum -y install http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm
yum -y install http://linuxdownload.adobe.com/adobe-release/adobe-release-x86_64-1.0-1.noarch.rpm
yum install flash-plugin
yum install icedtea-web
yum install vlc smplayer ffmpeg HandBrake-{gui,cli}
yum install libdvdcss gstreamer{,1}-plugins-ugly gstreamer-plugins-bad-nonfree gstreamer1-plugins-bad-freeworld

 

13. Chrome

wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
sudo yum localinstall google-chrome-stable_current_x86_64.rpm

 

 

14. VAS install & change parameters

외장하드에서 VAS_new 폴더 복사 - home/dpw/code에 붙여넣기

 

RestAPI 경로수정

 

darknet.py  383 line libdarknet.so 경로수정

 

config.json 수정 (ip주소, ftp주소)

 

train dataset 을 txt로 만들어줌(process.py)

 

train

반응형

댓글