실제 디플로이 할 현장에 하드웨어(데스크탑)이 준비되었고, 가서 개발환경 세팅 및 구동만 하면 되는 상황.
- 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)
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. 로 이동
- Github에서 clone
- Makefile 교체 (미리 업로드해 둔 Web server에서 다운로드)
- src폴더 전체 교체 (미리 업로드해 둔 Web server에서 다운로드-압축해제)
- src.zip 파일 unzip command가 먹히지 않아 수동으로 압축을 해제해주고 darknet 폴더에 붙어넣어준다.
- 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 폴더에 붙여넣기한다.
- Makefile 다운로드 주소: https://www.mediafire.com/file/9ojvtrubbdz91ad/Makefile/file
- src폴더 다운로드 주소: https://www.mediafire.com/file/8nprui37b114w8a/src.zip/file
- 수동으로 src.zip을 압축풀어주고, Makefile 과 함께 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
'VAS > Centos 7 개발환경 구축' 카테고리의 다른 글
Centos 7 video codec pack install - smplayer (0) | 2021.11.22 |
---|---|
bash shell script로 무정지 Yolov4 만들기-exception error 대처법 (0) | 2021.11.15 |
CentOS 7 Linux Unable to access "SSD" 외장하드 연결 문제 해결 (0) | 2021.11.03 |
Face Recognition 제작기 -3단계 비디오 인식 (0) | 2021.10.13 |
Face Recognition 제작기 -2단계 이미지 추론결과 다루기 (0) | 2021.10.13 |
댓글