Jetson Nano 활용 AI 기초 교육
(4) Transfer learning, Re-training the network 실습
21. 07. 22 ~ 23
(4) Transfer learning, Re-training the network 실습
21. 07. 22 ~ 23
Jetson 에서 Terminal 열고, 아래 코드 작성
git clone https://github.com/JetsonHacksNano/installSwapfile
cd installSwapfile
./installSwapfile.sh
sudo reboot
재시작 후, 터미널에서 아래 코드 작성 (SWAP memory 증가 확인)
free -m
다른 확인 방법 (System monitor - 윈도우의 작업관리자)
(1) Terminal에서 아래 코드 작성
gnome-system-monitor
(2) System monitor 확인
64GB SD카드에 데이터를 저장할 수 있지만, 딥러닝 정확도 향상을 위해 많은 데이터가 필요합니다.
본 챕터는 외장 하드디스크, USB 메모리 등을 Jetson nano에 인식시키는 방법을 설명합니다.
(1) 외장 메모리 이름 설정
(1-1) 윈도우 기반 외부 PC에 외장 메모리 연결 → 내 PC → 외장 메모리 마우스 우측 클릭 → 이름 바꾸기 → 영문으로 이름설정 (예: mobis_usb)
(1-2) 외장 메모리 안에 Readme.txt 새로 만들기
(2) Jetson nano에서, Terminal에 아래 코드 입력 (외장메모리 인식 위한 파일 설치)
sudo apt-get install exfat-fuse exfat-utils
(3) Jetson nano에서 외장 메모리 USB 연결
(4) [Docker 밖에서] Terminal에 아래 코드 입력(외장메모리 연결 확인, 굵은 글씨는 본인 외장 메모리 이름 입력)
ls /media/mobis/mobis_usb
(5) [Docker 밖에서] Terminal에 아래 코드 입력 (docker Container에 외장 메모리 마운트, 참고 링크)
※ 아래 굵은 글씨는 본인 외장 메모리 이름
cd jetson-inference
docker/run.sh --volume /media/mobis/mobis_usb:/media/mobis/mobis_usb
(6) [Docker 밖에서] Terminal에 아래 코드 입력 (docker container에 외장 메모리 마운트 확인)
ls /media/mobis/mobis_usb
(7) 지금부터, docker container 실행마다 위 (5) 코드 사용
외장 메모리에 데이터 다운로드
(1) 기존 Terminal 끄고, 새 terminal 열기
(2) [Docker 밖에서] 아래 코드 한 줄씩 입력 (이미지 데이터가 하드디스크에 저장되도록, 환경 셋업)
sudo apt-get install python3-pip
sudo pip3 install boto3
cd jetson-inference/python/training/detection/ssd
wget https://nvidia.box.com/shared/static/djf5w54rjvpqocsiztzaandq1m3avr7c.pth -O models/mobilenet-v1-ssd-mp-0_675.pth
pip3 install -v -r requirements.txt
(3) [Docker 밖에서] 다운로드 여부 확인 실험
※ (외장 USB사용의 경우)
python3 open_images_downloader.py --stats-only --max-annotations-per-class=10 --class-names "Apple" --data=/media/mobis/mobis_usb
※ (SD카드만 사용하는 경우)
python3 open_images_downloader.py --stats-only --max-annotations-per-class=10 --class-names "Apple"
(4) [Docker 밖에서] 아래 코드 입력 (OpenImages 데이터 다운로드)
※ (외장 USB사용의 경우) 아래 굵은 글씨 변경 가능, mobis_usb 에 본인 외장 메모리 이름 넣기
python3 open_images_downloader.py --max-images=100 --class-names "Apple" --data=/media/mobis/mobis_usb
※ (SD카드만 사용하는 경우) 아래 굵은 글씨 변경 가능
python3 open_images_downloader.py --max-images=10 --class-names "Apple"
(5) [Docker 밖에서] 아래 코드 한 줄씩 입력 (외장 메모리에 다운 받은 사진 확인)
cd /media/mobis/mobis_usb
ls
cd train
ls
(5) [Docker 밖에서] 위 목록의 파일 열어보고 사진 확인
eog 파일명.jpg
(6) [Docker 밖에서] 새로운 Terminal 에 아래 코드 한 줄씩 입력 (Docker container에서, 외장 메모리에 다운 받은 사진 확인)
cd jetson-inference
docker/run.sh --volume /media/mobis/mobis_usb:/media/mobis/mobis_usb
ls /media/mobis/mobis_usb/train
※ (USB 사용의 경우 저장 위치) cd /media/mobis/본인USB명
※ (SD카드 사용의 경우 저장 위치) cd /home/mobis/jetson-inference/python/training/detection/ssd/data
외장 메모리에 설치된 Training, Validation, Test용 엑셀파일(Annotation), 이미지 파일 데이터세트
아래 그림은 다운로드한 이미지와 엑셀 차트 예시