PI | EL | EM | EM | EM | EM |
---|---|---|---|---|---|
Sunho Park(Prof) | Sungwoong Yun | Sungjoon Yang | Hoil Lee | Jeseok Oh | Kibum Yun |
vscode | git | msys | miniconda |
---|---|---|---|
셋업파일을 다운로드 받고 설치해준다.
이후 아래 명령어를 작성해준다.
pacman -Suy
pacman -S wget unzip mingw-w64-ucrt-x86_64-hdf5 mingw-w64-ucrt-x86_64-ffmpeg
파이썬은 무조건 3.9.12버전을 설치해주어야 한다. 만약 다른 버전이 설치되어 있더라도 해당 버전으로 바꾸어주어야 하니 설치해주자.
(물론 3.7, 3.8에서도 동작하지만 저작자와 맞추기 위함이다. 그리고 3.10이상에서는 잔오류가 많이 발생하게 된다.)
이후 아래와 같이 설치한다.
Next!
아래와 같이 세가지를 체크해주고, 설치경로를 다음과 같이 C:\Python\Python3_9_12
맞춰준다.
이렇게 깔리면 아래와 같이 구조가 잡히게 된것이다.
이후 수동으로 환경변수(사용자변수)를 잡아주자.
다음과 같이 C드라이브 바로 아래에 DonkeyBro프로젝트를 생성한다.
cd C:\
해당(링크)로 git clone을 해준다.
git clone https://github.com/YUNSUNGWOONG/DonkeyBro.git
cd DonkeyBro
기존 서브모듈들을 최신버전으로 업데이트 해준다.
git submodule init
cmd창에서 DonkeyBro로 와주고, 가상환경 패키지 및 가상환경 구축을 해준다.
pip install virtualenv
virtualenv env
이후 가상환경에 접속해준다.
cd env/Scripts
activate
cd ..
cd ..
아래 것들을 설치해준다.
python.exe -m pip install --upgrade pip
pip install --upgrade wheel setuptools
DonkeyBro에 들어가면 donkeycar가 있을것이다. cmd창으로 여기를 들어가준다. 그리고 서브패키지를 설치해준다.
cd donkeycar
pip install -e .
cd ..
DonkeyBro에에 들어가면 gym-donkeycar가 있을것이다. cmd창으로 여기를 들어가준다. 그리고 서브패키지를 설치해준다.
cd gym-donkeycar
pip install -e .
cd ..
DonkeyBro에에 들어가면 library_sheet가 있을것이다. cmd창으로 여기를 들어가준다. 그리고 서브패키지를 설치해준다.
cd library_sheet
pip install -r requirements_dynamic.txt
pip install -r requirements_for_windows.txt
cd ..
파워셀을 키고 아래와 같이 zip파일을 다운받고 압축을 풀어주자.
curl -O -L https://github.com/tawnkramer/gym-donkeycar/releases/download/v22.11.06/DonkeySimWin.zip
tar -zxvf DonkeySimWin.zip
1)DonkeyBro
아래에 cars
라는 폴더를 만들어줍니다.
(차량들을 모아둘, 비유하자면 일종의 주차장 같은 겁니다.)
mkdir cars
cd cars
2)이제 기본 차량을 만들어줍니다.
donkey createcar --path mycar
cd mycar
3)이제 mycofnig.py파일에 들어가 다음과 같이 수정해줍니다.
수정전>
수정후>
4)현재 mycar디렉토리에서 다음 명령어를 적어줍니다.
python manage.py drive
<웹브라우저에 localhost:8887이라고 적어주세요.>(아래그림: 웹브라우저와 콘솔창)
(아래그림: 시뮬레이션 화면)
이번에는 두가지 각각 다른 템플릿이 탑재된 차량템플릿을 적용해서, 차량을 생성해보겠습니다.
donkey createcar --template=cv_control --path car_cv
donkey createcar –template=path_follow --path car_dl
최종적으로 아래와 같이 아키텍처를 구축하게 됩니다.
python manage.py drive로 주행을 하게 되면 동작에 따라 실시간으로 데이터를 수집하게 됩니다.
최소 10바퀴정도를 돌려서 학습데이터셋을 수집합니다.
tensorflow를 통해 훈련을 시키기 위해서는 msvcp140.dl파일이 필요하며, 이는 Microsoft Visual C++ Redistributable 패키지에 포함되어 있다.(관련사이트)
컴퓨터 설정에 맞춰 둘중 하나를 설치해서 실행해준다.
64비트일 경우: vc_redist.x64.exe
32비트일 경우: vc_redist.x86.exe
설치가 다 완료되면 아래 순서를 진행해준다.
mycar디렉토리를 보면 train.py가 있습니다. 이를 활용하여 두가지 방식중 하나를 복붙해서 훈련을 시켜준다.
# python 명령어를 사용하는 경우
python train.py --tubs=./data --model=./models/mypilot.h5
# donkey 명령어를 사용하는 경우
donkey train -tub ./data -model ./models/mypilot.h5
위 명령어를 통해 학습을 시키면 mypilot.h5라는 h5포맷의 AI파일 생성될 뿐만 아니라 .tflite 포맷의 AI파일도 생성된다.이후에 해당 학습된 모델을 사용하기 위해서는 다음과 같다.
- h5파일을 사용할 경우
# python 명령어를 사용하는 경우
python manage.py drive --model ./models/mypilot.h5
# donkey 명령어를 사용하는 경우(이거는 시도해보지 않았다)
donkey manage -model ./models/mypilot.h5
- tflite파일을 사용할 경우
# python 명령어를 사용하는 경우
python manage.py drive --model ./models/mypilot.tflite --type tflite_linear
# donkey 명령어를 사용하는 경우(이거는 시도해보지 않았다)
donkey manage -model ./models/mypilot.tflite -type tflite_linear
아직 강화학습(ddqn)에 대한 부분과, docker를 통해 VirtualLeague를 구축하는 부분에 대해서는 좀 더 공부해야 할 부분이다.
MIT © YUNSUNGWOONG