젯봇의 가장 괴이한 특징은 조작을 ipyNotebook 으로 한다는것.
(앗,, 이글은 젯봇입양기1 의 다음 글입니다.)
(*10월30일 수정 : 냉각팬을 사용하면 딥러닝 사용 시 베터리가 너무 급히 소진되어 카메라 기능에 복잡 다양한 문제가 발생합니다. 아마도 냉각팬이 없다면 그닥 문제 되지 않습니다만, 나노가 워낙 난방기능이 좋아서 냉각팬은 꼭 필요합니다.
따라서 젯봇 위키에 나온 가이드 대로 "sudo nvpmodel -m 1" 라고 세팅해줘야 합니다.
세팅 여부는 sudo nvpmodel -q 라고 하면 세팅된 값을 볼 수 있습니다.)
(2020년 2월 23일 추가 : 혹시 팬이 돌지 않으면 다음과 같이 명령을 주어야합니다.
sudo sh -c 'echo 255 > /sys/devices/pwm-fan/target_pwm'
}
젯봇에 노트북으로 접속할 수 있게 외부 접근 설치를 해놓은게 나름 엔비디아의 신의 한수 인 것 같습니다.
(저는 마음에는 파이썬에 익숙하지 않고 노트북도 안 좋아해서.. 좀 그렇긴 하지만.. 엔비디아에서 다 이유가 있어서 이래놨겠죠.. 쿨럭쿨럭,, )
basic_motion 으로 조작을 해보면 힘차게 잘 움직입니다.
우리 고양이는 너무 놀라서 도망가다가 책상에 부딪히고 에어콘에 2번 부딪힌 뒤로는 (ㅠㅠ 지못미)
그냥 젯봇이 갑자기 움직여도 아 또 시작이야 그런가보다~ 합니다. 귀여워 죽겠네요.
지금은 collision avoid 데이터를 수집해서 트레이닝을 오래오래 하고 이제 사용해보려고 합니다.
참고로 웨어쉐어에서 다운로드 받은 이미지에는 training 소스가 들어있지 않아서 깃헙에서 다운받은 후 삼바 세팅해서 꾸역꾸역 집어넣었습니다. 깃헙은 여기 링크입니다.
(그런데.. 트레이닝할 떄 노트북에 나온대로 unzip 하지말고 건너뛰세요 시스템 다운됩니다.. )
나노 맥스웰에서 AlexNet 트레이닝을 30 epoch 돌리려니 하 세월입니다.
알렉스넷이 그리 성능이 좋은 네트워크도 아니고 googlenet 에 비해 가벼운 네트워크도 아닌데 왜 이걸로 하는지 모르겠습니다만 일단 시키는데루 합니다.
그런데 사실 Pytorch 를 처음 써보는거라 흥미롭기는 합니다. Keras 와 비슷한 느낌이네요.
(TMI : 엔비디아에서는 Pytorch 가 연구에 응용하기 용이하고 inference 엔진인 TensorRT 에 적용이 보다 쉬워서 선호한다고 하는 것 같습니다란 카더라 통신.. )
트레이닝 끝나서 실행해보니 막힌 이미지를 구분을 못해서 무조건 직진 직진 하시니 추가로 다시 사진 추가하고 트레이닝을 다시 해본 후 이제 데모를 실행해봅니다.
어찌어찌 해서 성공
https://www.youtube.com/watch?v=hHPGoRvtDHY&feature=youtu.be
젯봇에서 사진찍고 트레이닝한 것을 바로 써버리니 따로 트레이닝 서버를 만드는게 부담스러운 초보님들의 경우에는 좋겠네요.
(물론 실무에서는 그러지는 않아요..ㅠㅠ)
일단 Robot 이라는 클래스는 역시 깃헙에 있구요 --> 여기
traitlets 와 Adafruit_MotorHat 이라는 클래스를 이용해서 만들어져 있습니다. 분석은 따로 해봐야겠네요.
일단 오늘의 결론 : 나는 나노 사서 참 재밋게 잘 놀고 있음..!!!
(*10월 30일 추가)
잘 안되는 경우들이 있으셔서 일단 가장 간단한 테스트 방법을 추가했습니다.
흰종이를 block 으로 해서 수집한 사진 데이터는 여기서 다운받을 수 있습니다. (여기)
내 모델이 내 코드랑 같이 잘 동작하는지를 먼저 보는 방법입니다.
여기 사용한 모델은 여기 (-> 링크) 서 다운받을수 있는데
하얀 종이를 블럭으로 사용했기 때문에 언제든지 테스트가 가능합니다. 영상 참조해주세요.
https://www.youtube.com/watch?v=QOwa2tuVGUg
다음은 젯봇입양기3 에서 이어집니다.
'JetBot' 카테고리의 다른 글
젯봇 입양기 4 (0) | 2019.11.03 |
---|---|
젯봇의 신체 구조가 궁금해졌다. (0) | 2019.10.29 |
젯봇 입양기 3 (0) | 2019.09.16 |
젯봇 입양기 1. (0) | 2019.09.15 |