반응형
블로그 이미지
개발자로서 현장에서 일하면서 새로 접하는 기술들이나 알게된 정보 등을 정리하기 위한 블로그입니다. 운 좋게 미국에서 큰 회사들의 프로젝트에서 컬설턴트로 일하고 있어서 새로운 기술들을 접할 기회가 많이 있습니다. 미국의 IT 프로젝트에서 사용되는 툴들에 대해 많은 분들과 정보를 공유하고 싶습니다.
솔웅

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

글 보관함

카테고리


반응형

10월 Vertual Race 의 트랙은 Toronto Turnpike 였다.

 

 


6회 Vertual 대회인 이 대회에서 내 기록은 Lap Time 9.918초.

 

지난달의 9.976보다는 앞선 기록이고 2회 연속 9초대 달성이란 면에서 나쁘지 않은 기록 같지만...

 


다른 참가자들의 성적은 훨씬 많이 좋아졌나보다.
등수는 30등대에서 70등대로 크게 뒤쳐졌다.

 



이번 대회에서 사용된 트랙은 좀 쉬웠는지 9초대 이내 기록이 76명이나 나왔다. 
8초대 이내는 42명 그 중에서 7초대는 9명이나 나왔다.

7초대는 지난 대회까지는 안 나왔던 기록이다.
지난달 8초대 이내는 6명이었고 9초대 이내는 40명 이었다.

참가자 수는 1338에서 1983명으로 600명 이상 늘었다.

 

 

 

 

 



이번달 참가자들의 성적이 크게 좋아진 것은... 


아마도 상위 랭크 참가자들이 새로운 계정들을 만들어서 복수 계정으로 참가한 것이 한 원인이 아닌가 분석해 본다.
그리고 단체 참가자들 중 성적이 좋은 그룹들이 서로 정보를 공유했을 수도 있을 것이다.

이런 이유들이 9초대 최상위권이 40명에서 76명으로 따블로 늘어난 이유인 것으로 보인다.

하지만 한명도 없었던 7초대가 9명이나 나오고 또 8초대도 6명에서 42명으로 7배나 오른 것은 참가자들의 실력이 지난달 보다 확실히 늘어난 것이라고 봐야 한다.


이에 비해 내 기록은 만족할 만한 수준에서 훨씬 뒤떨어진다.


이번 대회에서는 한가지 변화가 있었다.
Action Space의 최대 Speed가 8에서 12로 늘었다.

 



난 새로운 모델을 만들면서 최대 스피드를 12로 설정했었는데 이것은 한번도 완주에 성공하지 못했다.
최고 스피드 12는 허용되는 값이긴 하지만 실제로는 너무 빠른 스피드인 것 같다.

다른 속도로도 새로운 모델을 만들었었는데... 별로 좋은 성적이 나오지는 않았다.

대신에 이전 대회에 만들었던 모델들로 돌리다 보니까 성적이 좋은 애들이 나와서 그 모델들을 사용해서 최고 기록을 얻을 수 있었다.
Action Space 값들을 바꾸면서 돌려도 보고 또 훈련 시킨후에 돌려보고 하다가 최고 기록이 나오게 됐다.

의도록으로 계획을 해서 세팅한 모델로는 10초대가 최고 기록이었다.
이번 대회의 9초대 기록은 Action Space를 무리하게 설정해서 한번 끝까지 돌려보자라는 생각으로 돌리다가 얻어 걸린 기록이었다.
몇십번 돌렸는데 모두 실패하고 9초대 기록 하나만 성공한 케이스였다.

이런식으로 하면 다음 대회에서도 9초대를 얻는건 완전히 운에 달려 있을 수 밖에 없다.

진짜 실력으로 9초대까지 가도록 해야 한다.

 

 



11월 대회에서는 기존에 하던대로 최고 스피드 8로 훈련시킨 모델과 최고 스피드 10으로 훈련시킨 모델로 한번 도전해 보려고 한다.

훈련 방법은 새로 얻은 정보들이 없어서 기존과 동일한 reward function과 Hyperparameter를 쓸 계획이다.

그런 후에 성적이 좋은 모델을 가지고 Action Space 값을 바꾸면서 최고 성적을 노리는 방법이다.

새로운 reward function, Hyperparameter 나 Log 분석, Local training setting 그리고 자동으로 모델 Submit 하는 Framework 개발 등 새로 도전해서 배우고 싶은 분야들은 아주 많은데 거기에 투자할 시간이 없다.
시간 나는대로 틈틈이 그리고 꾸준히 한번 진행해 볼 생각이다.

Anyway, 이번 11월 Vertual Race 목표는 9.5 초 이내 Lap Time과 50등 이내 기록이다.

12월에는 라스베가스에서 aws re:Invent 행사가 열리고 그 행사 중 DeepRacer 2019 공식 대회가 열린다.

 

https://reinvent.awsevents.com/

 

AWS re:Invent 2019

 

reinvent.awsevents.com


한국에서는 대여섯명 정도 초청장을 받을 것 같다. 실제로 몇명이 참가하는지는 모르겠다.
나는 첫번째 Vertual 대회에 참가하지 못해 점수가 안 되서 초청장을 받지 못했다.
그리고 그 행사 참가비도 초청장과 별도로 몇백만원은 내야 하는 걸로 알고 있다. (초청장은 항공료와 호텔 숙박비를 대 주는 것으로 알고 있다.)
나는 올해 대회에 참가하지는 못할 것 같다.

아마존에 주문한 Deepracer Car도 계속 연기 되면서 언제 배달 될지 소식도 없고.....

아무쪼록 이번에 참가하는 한국분들 좋은 성적 거두길 바란다.

반응형


반응형

나는 6월달부터 열린 AWS Deepracer Virtual league 부터 참가했다.

그 경기는 Virtual Race #2 였다.

처음엔 20.695초를 기록해 104등을 차지 했다.

오늘 끝난 Virtual Race #5 에서는 9.976초를 기록해 39등을 차지 했다.

 

Lap Time은 꾸준히 발전해 목표했던 9.976초를 기록했다.

 

반면에 순위는 거의 변동이 없다.

참가자 모두가 비슷하게 실력이 향상되고 있는 것 같다.

 

최고 기록은 첨부터 9초대였고 3회때부터는 8초대를 기록하고 있다.

참가자 수는 4회때부터 1300명이 넘게 참가하고 있다.

 

6회 Toronto Turnpike 경기에는 아마존이 1등 상금을 1300달러로 올렸다.

이번엔 좀 더 많이 참가 할지 기대 된다.

 

1등을 하려면 8초대를 끊어야 할 것 같은데... 쉽지는 않을 것 같다.

 

지금까지 2회부터 5회 까지의 경기에 참가하면서 자율주행 모델을 훈련시키는 방법을 조금씩 변화를 주었었다.

그 결과 20초대에서 9초대로 기록을 향상 시킬 수 있었다.

 

각 Virtual 경기에 참가시켰던 AI 모델을 어떻게 훈련 시켰는지 기억을 더듬어 정리해 보겠다.

 

혹시 AWS DeepRacer 대회에 참가하고 있거나 참가할 계획인 분들에게 도움이 됐으면 좋겠다.

 

1. Virtual Race #2 Kumo Torraku

첫 대회에서는 모델을 여러 트랙에서 훈련 시켰다.

가장 간단한 직선 트랙에서 훈련을 시작해서 Oval Track, Bowtie Track, 그리고 London Loop 트랙을 거쳐서 대회에 사용됐단 트랙인 Kumo Torakku트랙에서 훈련 시켰다.

 

이 대회에서 Action Space와 Reward Function은 어떻게 사용했는지는 이전 글에서 정리 했으니 참고 바람.

https://coronasdk.tistory.com/1007?category=816561

 

AWS Deepracer Virtual Race 최초 참가 경험 정리

6월에 열린 아마존 AWS Deepracer Virtual Race #2 에서 20.695초 104등을 차지했다. 총 참가자 수는 572명이다. 나는 Sofia와 Dalyo 두 종류의 모델을 훈련 시키고 있다. 이번 대회에서는 주로 Sofia를 출전 시..

coronasdk.tistory.com

이 대회는 그야말로 정석대로 한 것 같다.

가장 간단한 트랙에서 훈련을 시작해서 점차 난이도 높은 트랙에서 모델을 훈련 시켰다.

그리고 기록 단축은 Reward Function으로 조절하려고 노력했다.

 

기록은 위에 적은 대로 20.695초로 104등을 차지했다.

이때의 심정은 제발 20초대만 돌파하고 싶었다.

 

남들은 10초대 초반이나 심지어 9초대의 기록을 보이고 있었는데 나는 20초대를 깨자가 목표였다.

하지만 잘 되지 않아서 거의 절망적이었다.

 

이 20초대는 두번째 대회에 참가하면서 쉽게 깨졌다.

 

 

2. Virtual Race #3 Empire City Circuit

 

 

이 대회가 열렸던 7월에는 New York 에서 Offline 대회가 열렸다.

훈련시킨 모델을 직접 자동차에 upload 시켜서 진짜 트랙에서 운행 시키는 경험을 할 수 있었다.

사는 곳이 Florida여서 가깝지는 않지만 그래도 New York 대회가 가장 가까운 곳이어서 이틀 휴가를 내고 참가하고 왔다.

 

이 대회의 참가 후 소감은 아래 글에서 볼 수 있다.

https://coronasdk.tistory.com/1010?category=816561

 

AWS DeepRacer League - New York을 다녀와서

지난 7월 11일 목요일 뉴욕에서 열렸던 Amazon New York Summit 에 다녀왔다. 거기서 열리는 AWS DeepRacer League 에 참여하기 위해서 이다. 목요일 금요일 이틀간 휴가를 내고 다녀왔다. 플로리다 올란도에서..

coronasdk.tistory.com

Offline 대회에 참가하고 난 후 왜 그런지 알 수는 없지만 의욕과 열정이 배가 되는 것 같았다.

Virtual 대회와 실제 Offline 대회의 차이점도 느낄 수 있었고 직접 최고 실력자들의 실력을 눈으로 보고 간단히 인사도 나누고 한 것이 영향을 미친 것 같았다.

 

이 대회를 다녀오고 난 후에는 해당 Track에서만 훈련 시켰다.

 

여러 트랙에서 두루 훈련을 시켜서 어떠한 트랙에서도 제대로 자율 주행을 할 수 있도록 하는 것이 이상적이겠지만..

그러기에는 시간이 너무 많이 걸릴 것 같았다.

훈련 시키는 만큼 돈도 내야 되기 때문에 더 효율적인 방법을 써야겠다고 생각했다.

 

그래서 Empire City 트랙에서만 계속 훈련을 시켰다.

결과는 13초 505를 기록해 39등을 했다.

 

지난 대회에서 그렇게 넘고 싶었던 20초대 벽을 훌쩍 뛰어 넘었다.

 

이 대회를 경험하고 나서 쓴 글은 여기서 확인 할 수 있다.

 

https://coronasdk.tistory.com/1011?category=816561

 

AWS Deepracer Virtual Circuit The Empire City 2019/7

2019 년 7월 Virtual Circuit인 The Empire City Circuit에서 내 모델이 48등과 49등을 했다. 야호!!!!!! 지난달 까지 20초대 이내로 들어가는 게 목표였는데 이 기록을 훌쩍 넘어서 13초대를 기록 했다. 목표 초..

coronasdk.tistory.com

 

3. Virtual Race #4 Shanghai Sudu

 

 

이 대회에서는 Action Space 값을 최대로 한 후 훈련 시킨 것이 주요했었던 것 같다.

 

그리고 처음으로 Hyperparameters도 손을 댔다.

뭘 알아서 손 댄건 아니고 Forum에 질문올린것에 대한 답변을 누군가가 (아마도 AWS 직원?) 하면서 자기는 Hyperparameter 몇개를 조정했다고 해서 그냥 따라 했다.

 

이 대회와 관련된 자세한 글은 여기에서 볼 수 있다.

 

https://coronasdk.tistory.com/1012?category=816561 

 

AWS Deepracer 이렇게만 하면 상위권 간다.

AWS Deepracer virtual league에 Dalyo라는 계정과 ChangsooCap 이라는 두개의 계정으로 출전하고 있다. 이번달 Virtual Circuit 성적은 현재 Dalyo가 11초 627로 9등이고 ChangsooCap은 12초 404로 13등이다. Ch..

coronasdk.tistory.com

4회 대회 그리고 내가 3번째로 참가한 이 대회에서는 10.133초를 기록해 35등을 했다.

 

이제 10초대 벽을 깨는게 목표가 됐다.

다음 대회에서 9초대 기록을 깰 수 있을까?

 

 

4. Virtual Race #5 Cumulo Carrera

 

이 Cumulo Carrera 대회에서는 9초대에 진입하려고 무지 애를 썼다.

결국엔 대회 종료 마지막 날에 9.976초를 달성 할 수 있었다.

 

목표를 달성할 수 있었던 데는 다른 사람들의 도움이 컸다.

Forum에 질문을 올리면 대답해주던 사람들, 그리고 Slack의 deepracer-community.slack.com 커뮤니티 사람들의 도움이 있었다.

 

특히 #meetup-seoul 채널에서 만단 nalbam 님과 kim wooglae님의 도움은 아주 컸다. (감사)

 

이 대회에서는 Console을 통해 제공되는 기능을 활용하는 것 이외에 직접 Meta Data 파일에 접근해 Action Space 값을 조절하면서 훈련시키거나 submit 하는 방법을 사용했다.

 

Action Space의 값을 변경하는 방법은 두가지가 있다.

 

하나는 Submit 할 때 적용되도록 하는 방법이다.

변경하는 방법은 아래와 같다.

1. 해당 모델의 Training Section으로 간다.

2. Resources에 있는 Simulation job 아래에 있는 링크를 클릭한다.

3. Simulation application탭을 클릭한 후 SAGEMAKER_SHARED_S3_BUCKET 값과 SAGEMAKER_SHARED_S3_PREFIX 값을 복사해 둔다.

 

여기 까지는 Action Space Meta Data 파일에 대한 정보를 얻는 과정이다.

이제는 S3로 들어가서 해당 파일을 다룰 차례다.

4. S3 서비스를 오픈한다.

5. Bucket list가 나오는데 SAGEMAKER_SHARED_S3_BUCKET 값으로 Search 한 후 해당 버킷을 클릭한다.

6. 그러면 각 모델 리스트가 나오는데 SAGEMAKER_SHARED_S3_PREFIX 값으로 Search 해 해당 모델을 클릭한다.

7. model 폴더를 오픈한다.

8. model_metadata.json 파일을 다운로드해 수정한 후 다시 upload 한다.

 

이렇게 하면 submit 할 때 자신이 수정한 action space 값이 적용되서 진행된다.

 

참고로 이 model 폴더에 있는 모든 파일들을 다운 받은 후 다른 account 의 model 폴더에 업로드해 덮어쓰기를 하면 훈련된 모델을 A account 에서 B account 로 복사할 수 있다.

 

그 다음은 Action Space 값을 변경한 후 그 변경된 값으로 clone 해서 훈련을 진행시키는 방법이다.

 

일단 1번부터 5번까지는 위의 방법과 같다.

 

6. model-metadata 폴더를 오픈한다.

7. 해당 모델 폴더를 오픈한다.

8. model_metadata.json 파일을 다운받아 수정후 다시 upload 한다.

 

이렇게 한 후 해당 모델을 clone 하면 내가 수정한 Action Space 값이 적용되서 traning을 진행하게 된다.

 

 

간략하게 내가 AWS Deepracer Virtual 대회에서 9초대를 기록하기까지의 과정을 정리해 봤다.

 

이쪽에 관심있는 사람들에게 도움이 됐으면 좋겠다.

 

그리고 혹시 내가 사용한 방법 이외에 다른 방법을 시도하신 분들의 경험담을 공유해 주시면 정말 고맙겠다.

 

 

 

 

 

반응형

Robolink Zumi 도착

2019. 8. 28. 08:26 | Posted by 솔웅


반응형

Kickstarter에서 backing을 했던 Zumi 가 배달 됐다.

Deepracer 말고 또 공부할 게 생겼다.

 

놀 시간도 없는데... 공부할게 자꾸 생긴다.

 

https://www.robolink.com/zumi/

 

Fund Zümi on Kickstarter! Our Kickstarter is Now Live!

Zümi is a friendly tiny self-driving car kit that won't break the bank. She's all about helping folks learning about Artificial Intelligence (AI). Help Robolink bring Zümi and learning AI and self-driving car technology to people and students around the wo

www.robolink.com

http://docs.robolink.com/zumi-library

 

Zumi Library | Robolink Support

 

docs.robolink.com

반응형


반응형

 

 

 

AWS Deepracer virtual league에 Dalyo라는 계정과 ChangsooCap 이라는 두개의 계정으로 출전하고 있다.

 

이번달 Virtual Circuit 성적은 현재 Dalyo가 11초 627로 9등이고 ChangsooCap은 12초 404로 13등이다.

 

ChangsooCap은 지난달에 첨 출전했는데... 

첨 출전한 계정 중에 최고 점수를 획득했다고 아마존에서 상금을 준단다.

 

Dear ChangsooCap,

 

Congratulations on placing 1st in the AWS DeepRacer League weekly challenge! As a 1st place Rookie in July, you will receive $200 in AWS credits. To claim your prize, please respond to this email to confirm receipt and receive your promotional code.

 

We hope you enjoyed your racing experience and will back to continue to climb the leaderboard for a chance to win a trip to the re:Invent and compete for the 2019 Championship Cup.

 

 

Thank you

The AWS DeepRacer League Team

 

 

200달러를 받게 됐다. 

 

나는 처음 프로그래밍을 배울 때 PHP로 시작했다. 그 때가 아마 1999년도쯤 됐을 텐데.....

그 때 양대 진영으로 프로그래밍계가 나눠 졌는데.. 바로 리눅스 진영과 윈도우 진영. 

 

리눅스 진영은 Open source 정신으로 소스코드를 공유하고 다 같이 발전시키자는 철학이 있었다.

윈도우 진영은 이 분야를 산업화 대중화 시키는 쪽으로 역할을 했다. 비공개, 이윤추구로 빌 게이츠는 세계 최고의 부자가 되었다.

 

이 리눅스 진영에 속한 프로그래밍 언어가 PHP, JAVA 등이고 윈도우 진영은 ASP, 닷넷(.Net) 등이다.

 

내가 생각하기엔 애플(iOS)은 이 리눅스 진영에 속하지만 윈도우 처럼 비공개 이윤추구를 꾀한 쪽이라고 판단된다.

 

하여간 나의 프로그래밍 세계 출발점이 오픈소스부터 시작해서 그런지 나의 경험을 공개해서 다른 사람들에게 조금이라도 도움이 되는 면이 있다면 되도록 공개하는 쪽으로 마음이 쏠린다.

 

나도 그런 사람들 덕분에 많이 배웠고 앞으로도 많이 배워야 하기 때문이다.

 

AWS Deepracer League에 참여하면서 자율주행을 위한 모델을 훈련시키면서 여러 방법을 시도 했었다.

 

지금은 11초대까지 달성했고 이제 최선두 그룹인 9초대 달성이 목표다.

 

아직 9초대를 달성 하려면 어떻게 해야 하는지 전혀 감이 안 온다.

 

다른 누군가가 그 비법을 공개하고 내가 그 정보를 빨리 접할 수 있기를 바라면서...

 

내가 11초대를 기록했던 모델의 configuration을 공유한다.

 

 

 

 

우선 AWS Deepracer 모델을 만드려면 3가지 구성요소를 세팅해야 한다.

 

첫번째로 Action Space인데 나는 전부 Maximum을 선택했다.

 

이 값들이 Maximum 값이다.

 

그리고 두번째는 reward_function인데.... 아래 보는 것 처럼 나는 중앙선 유지 그리고 모든 바퀴가 트랙 안에 있도록 reward를 주는 것을 기본으로 하고...

 

 

그 이외에는 progress와 speed 를 가지고 콘트롤 한다.

상황에 따라서 progress 부분의 reward를 줄이기도 하고 speed의 reward를 늘리기도 한다.

 

마지막으로 Hyperparameter가 있는데...

이건 아직 제대로 공부를 못해서 하나도 모른다.

 

그냥 어디서 누군가가 Learning rate를 0.001로 그리고 Number of epochs를 3으로 세팅 했길래 그냥 따라 했다.

그게 뭔지 잘 모른다.

 

이렇게만 하고 7~10시간 훈련 시키면 잘 하면 13초대가 나온다. 운 좋으면 그냥 11초대도 갈 수 있다.

 

그런데 11초대 나온 후에 더 훈련 시키면 오히려 기록이 늦춰지더라구..

14초대 15초대 16초대...

 

아마 훈련을 거듭하면서 Deepracer가 안정성을 확보하는 쪽으로 더 기우는 거 같다.

안정성도 확보하면서 스피드도 더 늘려야 9초대로 진입할 수 있을 텐데...

 

아직 어떻게 해야 할 지 감이 안 잡힌다.

 

 

혹시 AWS Deepracer 새로 시작하려는데 아무런 감도 안오시는 분들은 위의 세팅만 따라해도 어느정도 점수는 나올거다.

 

운 좋으면 나처럼 이달의 Rookie로 선정돼 200달러를 상금으로 받을 수도 있다.

 

아마존에서는 그달에 처음 출전하는 계정 중 가장 좋은 기록한 사람이랑 가장 많은 모델로 도전한 사람 둘을 뽑아서 별도로 상금을 주고 있다.

 

좀 더 많은 사람들이 AWS Deepracer로 자율주행 모델에 도전하기를 바라면서......

그리고 더 좋은 방법 발견하면 다른 사람과 공유하면서 다 같이 발전하길 바라면서......

반응형


반응형

 

 

2019 년 7월 Virtual Circuit인 The Empire City Circuit에서 내 모델이 48등과 49등을 했다. 야호!!!!!!

 

 

지난달 까지 20초대 이내로 들어가는 게 목표였는데 이 기록을 훌쩍 넘어서 13초대를 기록 했다.

목표 초과 달성....

 

뉴욕에서 열린 Offline 대회에 참가해서 경험한게 도움을 줬다.

뭐 딱히 어떤 노하우를 배운건 아닌데 뭔가... 도움이 됐다.

 

10초대 내외를 기록하는 선두 그룹들은 뭔가 특별한 방법이 있고 나는 그 방법을 알아내기가 무척 어려울 것이라고 막연하게 큰 벽 앞에 서 있는 느낌이었는데....

 

직접 그렇게 점수를 내는 선두 그룹의 사람들하고 만나서 인사하고 대충 보니까 그렇게 특별한 기술이나 노하우가 있는것 같지는 않더라구...

 

뭔가 내가 만든 벽을 허물어 뜨릴 수 있었던 경험이었고 그래서 다시 용기를 내서 모델을 새로 만들고 훈련 시켜서 대회에 내 보냈더니 나도 13초 대를 기록 할 수 있었다.

 

그런데 이번 대회에서는 뭔가 이상한게 나왔다.

 

 

1등에서 8등까지의 기록을 보면 1초대, 2초대 그리고 3초대.....

절대 불가능한 기록이다.

사실 9등 10등인 7초대, 8초대도 나는 제대로 나온 기록이 아니라고 믿는다...

 

도대체 어떻게 이런 기록이 나올 수 있을까?

해킹을 했나?

 

 

AWS Deepracer Forum 에 문의 했더니 답이 나왔다.

 

Carl의 얘기로는 자동차를 뒤로 보냈다가 다시 방향을 돌려서 결승점으로 돌아오는 방식으로 했을 거라는 거다.

이해 된다.

칼의 얘기대로 Slack Community에 들어가서 봤더니. .진짜 그렇게 시도해서 증명해 보여주는 사례들도 있었다.

 

아마존 딥레이서 팀의 허점을 찔렀구만....

상식적으로 봤을 때 해당 트랙을 완주한게 아니기 때문에 저 기록은 정당하지 못하다.

 

프로그램 적으로 출발점에서 자동차가 움직여서 결승점을 통과하면 그것을 완주로 판단하고 기록하는 것 같다.

하지만 실제로는 완주를 한게 아니고 출발선에서 빠꾸한 다음에 다시 결승선으로 들어온거다.

 

저런 부당한 기록을 빼면 내 기록은 30등 대 인 것이다.

 

다음달 대회에서는 저런 허점이 보완 될 것이라고 믿는다...

 

 

다음 대회에서는 11초대를 기록해서 20등 대에 드는게 목표...

 

화이링!!!!!!!

 

 

 

반응형


반응형

 

 

 

 

지난 7월 11일 목요일 뉴욕에서 열렸던 Amazon New York Summit 에 다녀왔다.

거기서 열리는 AWS DeepRacer League 에 참여하기 위해서 이다.

 

 

목요일 금요일 이틀간 휴가를 내고 다녀왔다.

플로리다 올란도에서 뉴저지 뉴왁공항까지 수요일 밤비행기 타고 갔다가 목요일 밤비행기 타고 왔다.

 

완전 녹초..........

 

다녀와서 보니 잘 갔다 왔다.

배운것도 많고 느낀것도 많고....

 

결과는 14.99초로 19등

 

 

나는 Empire City Track에서 경주 하는 줄 알았는데 off line 경주는 re:Invent 2018 에서 하는 거였다.

내가 훈련시킨 모델들은 다 Empire City Track에서만 테스트 했었는데....

 

그래도 14.99초로 19등 한 것은 만족 스럽다. 

on line 에서 주행 하는 것과 off line에서 주행하는 것의 차이점을 체험할 수 있었고 off line 대회는 어떻게 진행 되는지도 알 수 있었다.

 

새벽에 도착한 42번가는 인적도 없는데 바쁘게 움직이는 광고판들로 멈추지 않는 화려함을 뽐내고 있었다.

10여년 전 뉴저지 살 때 와봤던 42번가. 그때의 광고판들보다 따따블은 더 많아진 것 같다.

 

 

이 사진은 경주가 진행됐던 re:Invent 2018 트랙

 

 

 

 

a Cloud GURU의 대표인 라이언도 만나 사진 한컷 부탁했다.

나도 라이언이 진행한 AWS 온라인 강좌를 수강했었다.

 

 

Summit 한바퀴 돌고 받은 선물들....

 

 

확실히 경제가 좋아지긴 한 것 같다.

 

10년전 여기 살 때도 다른 엑스포들 좀 다녔는데...

그 때는 선물이 거의 없었다. 

2008년 경제위기 직후였으니 .... 받아봤자 고작 볼펜 정도 였는데.....

 

이번에는 티셔츠, 양말들도 있고..... 정말 다양하고 좋은 선물들을 많이 얻을 수 있었다.

 

피곤한 여행이었지만 배운것도 많고... 느낀 것도 많고... 좋은 사람들도 만나고... 하여간 좋았다.

 

 

반응형


반응형

 

 

Using Jupyter Notebook for analysing DeepRacer's logs

 

 

Using Jupyter Notebook for analysing DeepRacer's logs - Code Like A Mother

Training a model for DeepRacer involves getting a lot of data and then while you can ignore it, you can also analyze it and use for your own benefit.

codelikeamother.uk

Training a model for DeepRacer involves getting a lot of data and then while you can ignore it, you can also analyze it and use for your own benefit. 

 

 

 

Training a model for DeepRacer involves getting a lot of data and then while you can ignore it, you can also analyze it and use for your own benefit.

 

DeepRacer 모델을 교육하려면 많은 양의 데이터를 가지고 분석한 후 여러분의 모델의 성능향상을 위해 사용하는 것도 필요합니다.

 

 

 

 

 

 

You can spend an hour watching the stream as your car trains and observing its behaviour (and I've done it myself before), but you might not have the time to do this. Also, you might blink, you know? Finally, if your car is fast, like really fast, it could do all 5 evaluation laps in one minute. First you wait 4-7 minutes for the evaluation to start, then you see it take 4-7 minutes to stop. Video? Sorry, you've missed it.

 

차를 한 시간 훈련하는 동안 스트림을 보면서 그 차의 행동을 관찰할 수도 있습니다 (예전엔 저도 이렇게 했습니다.) 하지만 항상 이렇게 시간이 충분이 있지는 않을 겁니다. 또한 당신이 눈을 깜빡이는 동안 무엇인가를 놓칠 수 있죠. 당신의 차가 정말 정말 빠르다면 1분 안에 5번의 평가를 끝낼 수도 있습니다. 일단 평가작업이 시작하기 까지 4~7분을 기다려야 합니다. 그리고 나서 완료 될 때까지 4~7분을 기다립니다. 비디오요? 안 됐지만 당신을 그것을 볼 기회를 놓쳤습니다. 

 

 

Yeah, I'm stretching this a bit too far. Having data you can plot, compile, transform and replay over and over again will always be a handy solution. That's why I love what guys at Amazon have shared in the DeepRacer workshop repository (link takes you to GitHub).

 

 

네, 제가 설명을 질질 끌고 있네요. 데이터를 가지고 플롯, 컴파일, 변환 및 재생하는 방법이 훨씬 더 편리할 겁니다. 그래서 아마존의 사람들이 DeepRacer 워크샵 저장소 (GitHub로 연결되는 링크)를 공유 하는 것을 저는 좋아합니다.

 

 

 

Log analysis

 

While we're here, I hope you'll like this post. Once you're done reading, I'd like to recommend reading about what I have come up with based on this tool in "Analyzing the AWS DeepRacer logs my way" - it might help you and give a couple ideas for your own modifications.

 

이 글이 당신에게 도움이 되길 바랍니다. 일단 읽고 나면, "AWS DeepRacer 로그 분석하기"에서이 도구를 기반으로 작성한 내용을 읽어 보는 것을 추천합니다. 그 글을 읽으면 여러모로 도움이 될 수 있으며 자신 만의 modifications를 위한 몇 가지 아이디어를 얻을 수 있을 겁니다.

 

 

The tools provided include a couple functions to help working with the data, track data, a Jupyter notebook that leads you through the analysis and some sample data.

 

제공된 도구에는 데이터 작업, 데이터 추적, 분석 및 샘플 데이터를 안내하는 Jupyter 노트북을 지원하는 몇 가지 기능이 포함되어 있습니다.

 

 

It lets you assemble aggregated information about your car's performance, plot its behaviour on the track, plot reward values depending on the car's location during evaluation, plot the route during the evaluation (including the virtual race evaluation), analyse the behaviour depending on the visual input, detect which pieces of image matter to the car the most.

 

그것은 당신이 다음과 같은 정보를 집계해서 assemble 하도록 합니다. '자동차의 퍼포먼스', 트랙에서의 행동에 대한 플롯', '평가 기간 동안 자동차의 위치에 근거한 reward 값에 대한 픞롯', '평가 기간 동안 (virtual race evaluation을 포함) route에 대한 plot', 'visual input에 근거한 행동 분석', '자동차에 어떤 image matter들이 가장 많이 탐지 되는지' 등등. 

 

I may have lost my skills in statistics and might not be able to predict future trends based on the time series anymore (I still remember that the classic linear regression model is calculated with ((X'X)^(-1))X'y, I still have dreams of econometrics lectures with Professor Osiewalski), but I can appreciate good statistics when I see them. The guys at Amazon have provided an excellent tool that I have used before to present some images to you. I didn't however know what the ipynb file provided with the tools was. I mean, I managed to open it (GitHub comes with a viewer), but it wasn't until the AWS Summit that I actually installed Jupyter Notebook and understood what power it gives me. Nice!

 

 

나는 통계에서 나의 기술을 잃어 버렸을지도 모른다. 그리고 더 이상 time series에 기초한 미래의 추세를 예측할 수 없을지도 모른다. (나는 고전적인 linear regression model이  (X'X) ^ (- 1) X ' y로 계산된다는 것을 아직 기억하고 있다. 나는 아직 Osijalski 교수의 econometrics 강의를 꿈꾸고 있다.) 그러나 나는 좋은 통계를 볼 때 그것에 고마와 한다. 아마존의 사람들은 내가 당신에게 이미지를 보여주기 위해 사용했던 훌륭한 도구를 제공했습니다. 그러나 ipynb 파일이 제공 한 도구가 무엇인지는 알지도 못했습니다. 내 말은, 나는 그것을 오픈하기는 했지만 (GitHub에는 뷰어가 포함되어 있음), 내가 실제로 Jupyter Notebook을 설치하고 그것이 가지고 있는 강력함을 이해하게 된 것은 AWS Summit이었다. Nice!

 

 

Summit

 

 

Jupyter Notebook is a web application that provides an editor for files containing formatted text, code and its latest results. It can be either hosted or run locally. AWS provides a solution to view notebooks within the SageMaker, but if you tend to leave stuff lying around like me, I wouldn't recommend this solution. The pricing of it matches its usefulness and I tell you, this is a really, really useful tool. I'm exaggerating here, but it does add up if you leave the EC2 running.

 

 

Jupyter Notebook은 형식이 지정된 텍스트, 코드 및 그것들의 최신 결과를 포함하는 파일에 대한 편집기를 제공하는 웹 application입니다. 호스팅되거나 로컬에서 실행될 수 있습니다. AWS는 SageMaker에서 노트북을 볼 수있는 솔루션을 제공하지만 나처럼 물건을 놓고 다니는 경향이 있다면이 솔루션을 권장하지 않습니다. 나는 그것이 가성비 면에서 좋다고 생각한다. 그것은 정말 정말 정말 유용한 툴이다. 조금 과장하는 면이 있지만 만일 당신이 EC2를 달리게 내버려두면 그것은 add up된다.

 

 

 

The code can be in one of many languages, python included. I think more interesting stuff will come out of actually using the notebook.

 

코드는 파이썬을 포함해 다른 많은 언어로 작성될 수 있다. 실제로 노트북을 사용하면 훨씬 더 흥미로운 사실들을 만나보게 될 것이다.

 

 

Installation

 

To install it you need to be familiar with either Python or Anaconda. You will find the installation instructions on their website. I'll leave you with this, I am assuming that if you're here and still reading, you know how to install a Python interpreter and how to install modules.

 

 

설치하려면 Python 또는 Anaconda에 익숙해야합니다. 웹 사이트에서 설치 지침을 찾을 수 있습니다. 일단 파이썬 인터프리터를 설치하는 방법과 모듈을 설치하는 방법을 알고 있다고 가정하겠습니다.

 

 

 

Remeber you can also use Docker if you're familiar with it. This document (takes you to Jupyter documentation) describes how to do that. I think Tensorflow notebook docker image is the closest to what you need to run log analysis notebook without installing everything around.

 

 

익숙하다면 당신은 또한 Docker를 사용할 수 있습니다. 이 문서 (Jupyter 문서로 이동)는 이를 수행하는 방법을 설명합니다. Tensorflow notebook docker image는 모든 것을 설치하지 않고도 로그 분석 노트북을 실행하는 데 가장 가까운 이미지라고 생각합니다.

 

 

 

Note: I am referring to instructions which in most cases contain details for Linux/Mac/Windows. I use Linux and so might miss the shortcomings of how other systems are described, but they do look well written. I am also assuming that you have some level of confidence working either with Python/pip or Anaconda/conda. In case of Python I use Python 3 and I recommend using it. It's time for Python 2.7 to go.

 

 

참고 : 대부분의 경우 Linux / Mac / Windows에 대한 세부 정보가 포함 된 지침을 언급하고 있습니다. 나는 리눅스를 사용하기 때문에 다른 시스템이 어떻게 기술되는지에 대한 단점을 놓치지 만 잘 작성된 것처럼 보인다. 나는 또한 당신이 Python / pip 또는 Anaconda / conda로 어느 정도 자신감을 가지고 있다고 가정하고 있습니다. 파이썬의 경우에는 파이썬 3을 사용합니다. 파이썬 2.7이 나올 때입니다.

 

 

 

Project structure

 

 

In the log-analysis folder you will find a couple things: log-analysis 폴더에는 다음과 같은 것들이 있습니다.

  • intermediate_checkpoint - folder for data used in some of the analysis
  • logs - folder for the logs
  • simulation_episode - you'll be downloading images from the simulation to understand what actions the car is likely to take
  • tracks - folder for the tracks points
  • DeepRacer Log Analysis.ipynb - the notebook itself
  • cw_utils.py - utility methods for downloading of logs
  • log_analysis.py - utility methods for the analysis

 

Dependencies to run log-analysis

 

Before we continue with running the notebook itself, let's have a look at the required dependencies that you can install using pip:

 

노트북을 계속 실행하기 전에 pip를 사용하여 설치할 수있는 관련된 필수 요소들을 살펴 보겠습니다.

 

 

  • boto3 - python library for interacting with AWS
  • awscli - not really needed, but useful - I used it to run aws configure and set up default access to AWS. Once I've done this, I didn't have to provide credentials in code. Click here for installation instructions, then click here for configuration instructions. Remember DeepRacer region is us-east-1. Click here for instructions to set up an IAM user. The roles listed in a page linked there do not provide permissions needed to get a list of streams in a log group, I've learned this one is part of role CloudWatchLogFullAccess or something like that. This is somewhat excessive so you might just want to apply permission DescribeLogStreams
  • numpy, pandas, matplotlib, shapely, sklearn, glob - plotting, listing, showing nice numbers
  • numpy, tensorflow, PIL, glob - analysis of actions probability (picture to action mapping)
  • cv2, numpy, tensorflow, glob - analysis of an image heatmap (what the car cares about when processing the picture)

 

 

Some of those will already be available in your Python/Anaconda bundle or venv evironment. Others you should install yourself. 

 

그 중 일부는 이미 Python / Anaconda 번들 또는 venv 환경에서 사용할 수 있습니다. 다른 것들은 직접 설치해야합니다.

 

 

I may write a bit more about some of them at some point.

 

나는 그들 중 일부에 대해 좀 더 자세히 기술 할 것이다.

 

 

 

 

 

Running the notebook

 

 

We could have done that earlier, but I like being prepared.

 

이전에 다룬적이 있지만 다시 설명하겠습니다.

 

 

 

To run the notebook, go to the log-analysis folder in a terminal and run:

 

notebook을 실행하려면 터미널에서 log-analysis 폴더로 가서 다음을 실행하세요.

 

 

 

jupyter notebook 'DeepRacer Log Analysis.ipynb'

 

 

A browser will open with a Jupyter notebook.

 

 

그러면 브라우저가 열리면서 주피터 노트북이 실행 될 겁니다.

 

 

 

 

Running the code

 

The editor will look more or less like that:  편집기는 아래와 같이 생겼을 겁니다.

 

 

 

The usual stuff: some text, a toolbar, a menu, some code.

When you get on the code section and press "Run" in the toolbar, the code executes, output (if available) gets printed out. That's pretty much how you go through the document: read, execute, analyse results of the code run.

 

 

코드 섹션에서 도구 모음의 "실행"을 누르면 코드가 실행되고 출력 (사용 가능한 경우)이 인쇄됩니다. 코드를 실행하고 결과를 읽고, 실행하고, 분석합니다.

 

 

 

 

You can find a couple more hints about working with Jupyter notebooks in a short document about using notebooks.

 

Jupyter Notebook Viewer

The second idea of mouse based navigation is that cell actions usually apply to the currently selected cell. Thus if you want to run the code in a cell, you would select it and click the button in the toolbar or the "Cell:Run" menu item. Similarly, to copy

nbviewer.jupyter.org

노트북 사용에 관한 간단한 문서에서 Jupyter 노트북으로 작업하는 것에 대한 몇 가지 힌트를 찾을 수 있습니다.

 

 

Analysis

 

 

When you start working with your notebook, be sure to execute the code blocks with imports at the top. They also include an instruction to display plotted images in the notebook.

 

notebook 작업을 시작할 때는 코드 블록 위에 imports를 먼저 한 후에 실행해야 합니다.  또한 노트북에 플롯 된 이미지를 표시하는 지침도 포함됩니다.

 

 

The files currently available in the data folders are samples. You will be using your own and downloading them as you go through the notebook.

 

현재 데이터 폴더에서 사용할 수있는 파일은 샘플입니다. 노트북을 사용하면서 당신의 파일을 다운로드 할 겁니다. 

 

 

The notebook itself has quite a bit of helping code in it like the mentioned downloading of logs or loading the track info. I will not be covering it here.

 

 

노트북 자체는 위에서 언급 한 로그 다운로드 나 트랙 정보로드와 같이 코드 자체에 도움이되는 코드를 가지고 있습니다. 나는 여기서 그것을 다루지는 않을 것이다.

 

 

Plot rewards per Iteration

 

This analysis takes the rewards and calculates mean and standard deviation. It then displays those values per iteration. Also a reward per episode is presented.

 

이 분석은 보상을 취하고 평균 및 표준 편차를 계산합니다. 그런 다음 반복 당 값을 표시합니다. 에피소드 당 보상도 표시됩니다.

 

 

 

 

Analyze the reward function

 

The next section uses the track data and training logs to display where the car goes and what reward it receives.

 

다음 섹션에서는 트랙 데이터와 트레이닝 로그를 사용하여 자동차가 가는 곳과 받는 보상을 표시합니다.

 

 

You can display all the points where the car had a reward function calculated:

 

자동차에 보상 기능이 계산 된 모든 지점을 표시 할 수 있습니다.

 

 

 

 

 

In this one above you can see how the car is all over the place. But then have a look at this one (this is a reward distribution for my AWS Summit London model):

 

 

위 그림을 보면 차가 여기 저기 많이 다녔다는 것을 알 수 있습니다. 그런데 이걸 한번 봐 보세요. (이것은 AWS Summit London 모델의 reward distribution입니다).

 

 

 

 

As you can guess, I trained my model to cut corners and to go straight on the straight line.

 

짐작할 수 있듯이, 나는 내 모델을 코너에서는 안쪽으로 돌고 직선도로에서는 똑바로 가도록 훈련했습니다. 

 

 

You can display a specific iteration:

 

이렇게 특정 iteration을 표시할 수 있습니다.

 

 

 

 

 

You can get top iterations and analyse the path taken:

 

top iterations 에서 통과한 길을 분석할 수도 있습니다.

 

 

 

 

Or just a particular episode:  특정 에피소드만을 볼 수도 있고

 

 

 

Or maybe a particular iteration:  또는 특정 iteration만을 볼 수도 있습니다. 

 

 

 

 

Actions breakdown

 

 

This function is pretty damn impressive, but applicable to the re:invent track only. I might spend some time and make something similar for the London Loop.

 

 

이 기능은 상당히 인상적이지만 re : invent 트랙에만 적용됩니다. London Loop에서도 비슷하게 시간을 투자해서 비슷한 그림들을 만들어 낼 수도 있습니다. 

 

 

 

The output of this function is a graph of decisions taken in different parts of the track. The track is broken down into sections like turns and stuff, then the car's decision process is evaluated and displayed on a histogram. This may help you spot undesired decisions and discourage the car from taking them going forward. Just bear in mind that some wrong actions have a rather low impact and therefore it might be not worth training away from them as you might overtrain.

 

이 기능의 출력은 트랙의 다른 부분에서 취해진 결정의 그래프입니다. track은 sections으로 나눠집니다. 그리고 나서 자동차에 결정과정은 평가되고 히스토그램에 표시됩니다. 이것을 통해 여러분은 원하지 않는 결정을 찾아내고 앞으로는 자동차가 그런 결정을 하지 않도록 할 수 있게 도와 줍니다. 어떤 잘못된 행동은  영향이 미미할 수 있습니다. 그것들을 너무 과도하게 훈련 시키면 별로 효과가 없을 수도 있습니다.

 

 

 

 

 

 

Simulation Image Analysis

 

 

In here you will be loading trained models, loading screens from simulation and observing probability of taking a particular action.

 

여기에서는 숙련 된 모델을 로드하고, 시뮬레이션에서 화면을 로드하고, 특정 작업을 수행 할 probability 을 관찰합니다.

 

 

First you need to download the intermediate checkpoints, then load the session model from the file. The final graph displays separation of probability of taking particular actions. If I understand properly, this can be used to determine how confident the model is about taking a specific action. The bigger difference from the best to second-best action, the better.

 

 

먼저 intermediate checkpoints를 다운로드 한 다음 파일에서 세션 모델을로드해야합니다. 마지막 그래프는 특정 동작을 취할 probability separation 를 표시합니다. 내가 제대로 이해한다면, 이것은 모델이 특정 행동을 취하는 것에 대한 confident 을 결정하는 데 사용될 수 있습니다. 최선책과 차선책 행동의 차이가 크면 클수록 좋습니다.

 

 

I haven't used it before. I guess it will be handy when I understand more of it.

 

나는 전에 이것을 사용하지 않았습니다. 이것에 대해 더 많은 것을 이해할수록 좀 더 편리하게 사용할 수 있을 겁니다.

 

 

 

Model CSV Analysis

 

 

I don't really get this one, sorry. I thin it's just about downloading some metadata about the training and showing distribution of rewards and length of episode (the longer the episodes, the more stable the model.

 

죄송하지만 이 부분은 제가 제대로 이해하지 못했습니다. 나는 훈련에 대한 메타 데이터를 다운로드하고 보상의 분배와 에피소드의 길이를 보여주는 것에 관한 것이라고 생각합니다 (에피소드가 길수록 모델이 더 안정적입니다).

 

 

I will have to learn to understand it better. The description says about downloading the model from DeepRacer Console, but the analysis is happening on some csv file only. Maybe it's part of the model archive?

 

이것을 더 잘 이해하는 법을 배워야 할 것 같습니다. DeepRacer Console에서 모델을 다운로드하는 것에 대한 설명이 있지만 분석은 일부 CSV 파일에서만 발생합니다. 어쩌면 모델 아카이브의 일부일까요?

 

 

Evaluation Run Analysis

 

This is specifically useful since you can look at your evaluations both in the console and in the virtual race.

 

이것은 콘솔과 가상 레이스에서 평가를 볼 수 있으므로 특히 유용합니다.

 


You can load logs from evaluation, then plot them on the track to see the path taken, distance covered, time, average throttle, velocity etc.

 

평가에서 로그를 로드 한 다음 트랙에 그려서 경로, 거리, 시간, 평균 스로틀, 속도 등을 확인할 수 있습니다.


On the plotted images you can see what throttle decision the car has taken.

 

플롯 된 이미지에서 자동차가 취한 throttle 결정을 볼 수 있습니다.

 


Just being able to compare faster and slower results from the evaluation can be very useful in terms of making decisions on future training sessions.

 

보다 빠르고 느린 평가 결과를 비교할 수 있다면 향후 교육 세션에 대한 결정을 내리는 데 매우 유용 할 수 있습니다.

 

 

 

 

 

 

 

 

 

What is the model looking at

 

I haven't used this one yet and I treat it more like a helpful utility to understand what the model cares about. After loading a model and some images, it is possible to get a processed image with highlighted elements that are of value when making decisions. It looks like that:

 

 

나는 이것을 아직 사용하지 않았으며 모델이 무엇을 중요하게 생각 하는지를 이해하는 데 도움이되는 유틸리티처럼 취급합니다. 모델 및 일부 이미지를로드 한 후에는 결정할 때 가치가있는 강조 표시된 요소가있는 처리 된 이미지를 가져올 수 있습니다. 그것은 다음과 같이 보입니다.

 

 

 

Example

 

 

Let's say I want to analyse one of my virtual race evaluations. I want to see the race information from when I managed to do the 23 seconds. I located the log stream starting with sim-ynk2kzw3q7lf, located in /aws/deepracer/leaderboard/SimulationJobs.

 

내 가상 경주 평가 중 하나를 분석하려고한다고 가정 해 봅시다. 나는 23 초를 할 수 있었을 때부터 경주 정보를보고 싶다. / aws / deepracer / leaderboard / SimulationJobs에있는 sim-ynk2kzw3q7lf로 시작하는 로그 스트림을 찾았습니다.

 

 

 

Then load the track data: 그리고 트랙 데이터를 로드 합니다.

 

 

 

Then fetch the evaluation data and plot it (some small corrections to the code needed): 

 

그런 다음 평가 데이터를 가져 와서 플롯합니다 (코드에 약간의 수정이 필요함).

 

 

 

 

The result comes as a scrollable frame. It's quite annoying and can be expanded by a single click on the left margin:

 

결과는 스크롤 가능한 프레임으로 제공됩니다. 매우 성가 시며 왼쪽 여백을 한 번 클릭하여 확장 할 수 있습니다.

 

 

 

 

Alternatively you can disable it in code as described on Stack Overflow.

 

또는 스택 오버플로에서 설명한대로 코드에서 비활성화 할 수 있습니다.

 

 

From here you can clearly see I had a stable, but slow model. I made some advancements from that point, but I'll wait with sharing them till the London Loop virtual race is over.

 

여기서 안정적이지만 느린 모델을 분명히 볼 수 있습니다. 나는 그 시점부터 몇 가지 발전을 이루었지만, 런던 루프 가상 경주가 끝날 때까지 나눠서 기다릴 것입니다.

 

 

Track data

 

프로젝트에 몇 가지 샘플 트랙이 포함되어 있습니다. London Loop은 그들 중 하나가 아니기 때문에 가상의 인종에 참여하고 있기 때문에 스스로 준비했습니다. 내가 제기 한 GitHub 끌어 오기 요청에서 가져올 수 있습니다. 다행스럽게도 곧 병합 될 예정이지만, 지금은 워크샵 저장소에 가입하여 거기에서 London_Loop_track.npy 파일을 다운로드 할 수 있습니다.

 

 

Bulk logs download

 

The cw_utils.py is missing a method to download all of the logs in a given group. It would be handy, so I wrote my own: https://github.com/aws-samples/aws-deepracer-workshops/pull/20.

 

Parameters:

 

 

  • pathprefix is beginning of a relative file path,
  • log_group is the log group in CloudWatch that you want to download the logs from. The log groups you will be interested in are:
    • /aws/robomaker/SimulationJobs - logs from training simulations and evaluations,
    • /aws/deepracer/leaderboard/SimulationJobs - logs from evaluations submitted to a virtual race,
  • not_older_than - date string to provide the lower time limit for the log event streams; if there is at least one log event newer than that, the stream will be downloaded; For today logs (19th of May) I set it to 2019-05-19; refer to dateutil documentation to learn about accepted formats,
  • older_than - upper limit date, pretty similar as not_older_than but the other way round; If you set it to 2019-05-19, the newest entries in accepted stream will be from 2019-05-18 23:59:59.999 at the latest.

 

Return value is a list of tuples containing:

 

  • log file path
  • simulation id
  • first log event timestamp
  • last log event timestamp

 

Entries are ordered by occurence of the last timestamp event.

 

 

If you are using a non-root account to access DeepRacer, you may be needed permissions to run method describe_log_streams.

 

 

If you call the method with pathprefix value ooh/eeh/ooh/ah/aah/ting/tang/walla/walla/bing/bang/deepracer-eval- and log_group is /aws/deepracer/leaderboard/SimulationJobs, and there is a log_stream for simulation sim-l337h45h, the file created will be ooh/eeh/ooh/ah/aah/ting/tang/walla/walla/bing/bang/deepracer-eval-sim-l337h45h.log

 

 

That's all folks

 

 

I'm not pretending I know much about the notebooks. Two weeks ago I didn't understand what they were or how to use them. This one has proven to be extremely useful when analysing my model's performance, and not only mine.

Well done, you've made it this far! Once again, let me mention my modification of the tool: "Analyzing the AWS DeepRacer logs my way" - I have raised a Pull Request to AWS with this change but you can already enjoy it now from my fork.

 

나는 노트북에 대해 많이 알고있는 척하지 않습니다. 2 주 전 나는 그들이 무엇인지, 어떻게 사용하는지 이해하지 못했습니다. 이 모델은 내 모델의 성능을 분석 할 때 매우 유용하다는 것이 입증되었습니다.

잘 했어, 너 지금까지 해냈어! "AWS DeepRacer 로그 분석하기"-이 변경으로 AWS로 끌어 오기 요청을 제기했지만 현재 내 포크에서 이미이 기능을 사용할 수 있습니다.

 

 

 

Great thanks to Lyndon Leggate for spotting that I misused the logs api initially. Lyndon is currently in top 10 in London Loop as well, he started the discussion group on Slack that I mentioned in my earlier posts. You are most welcome to join it: click here.

 

 

처음에 로그 API를 오용 한 점을 발견 한 Lyndon Leggate에게 감사드립니다. 린든은 현재 런던 루프 (London Loop)에서도 톱 10에 속해 있으며, 이전 글에서 언급 한 슬랙 (Slack)에 대한 토론 그룹을 시작했습니다. 가입하시는 것이 가장 좋습니다 : 여기를 클릭하십시오.

 

 

 

I will be soon writing about the First AWS DeepRacer League Virtual Race called London Loop which I'm taking part in. It's different from the London Loop and much bigger in scale - almost 600 participants so far (and more to come, I'm sure), still two weeks left to compete, top lap of 12.304 seconds and fifty best entries are within a second of that. And I'm fifth at the moment :)

 

 

런던 루프와 다른 점은 규모가 훨씬 더 큰 것입니다. 거의 600 명의 참가자가 참여하고 있습니다. 물론), 경쟁하기 위해 2 주 남겨 뒀다, 12.304 초의 최고의 랩과 50 최고의 항목은 그것의 두 번째 이내에있다. 그리고 나는 지금 5 번째입니다 :)

 

 

 

 

Race on!

 

 

반응형

AWS Deepracer Forum Q&A

2019. 7. 8. 05:49 | Posted by 솔웅


반응형

6월 AWS Deepracer Virtual Race에 참가하기 위해 자율주행을 위한 인공지능 모델을 훈련 시키면서 생겼던 질문을 AWS Deepracer Forum에 몇번 올렸었다.

 

https://forums.aws.amazon.com/forum.jspa?forumID=318 

불러오는 중입니다...

 

도움이 되는 답변들이 있어서 여기에 정리해 둔다.

 

https://forums.aws.amazon.com/thread.jspa?threadID=304352&tstart=0

불러오는 중입니다...

첫번째 질문은 Action Space와 Hyperparameter에 대한 것이었다.

 

What is good Action Space and Hyperparameter for Kumo Torakku track?

Posted by: Changsoo

Posted on: Jun 6, 2019 5:13 AM

 

 

I've created a model for Kumo Torakku track and got 26 seconds lap time.
Actually the model was cloned from others. (Straight Track -> Oval Track -> London Loop).

Repetition of training does not reduce lap time.

I used hyperparameter as default and changed the Maximum speed to 5 in Action Space.
(Others are as default. Steering 30, Steering angle granularity 5, Speed granularity 2)

Since I'm familiar with coding, I tried multiple things with reward_function.
i.e. distance from center, all wheels on track, steering threshold, speed penalty etc.

As I said, there is no improvement at all with this configuration for Kumo Torakku.

So I will create new Model.

Anybody recommend any Action Space configuration for Kumo Torakku to get better results please?

Maximum steering angle :
Steering angle granualrity :
Maximum speed :
Speed granuality :

I have read documents for Hyperparameters but no idea what those are. ;(
Anybody can recommend good Hyperparameters configuration for Kumo Torakku please?

 

 

아래는 이 질문에 대한 답변들....

 

Re: What is good Action Space and Hyperparameter for Kumo Torakku track?

Posted by:  DeClercq-AWS

Posted on: Jun 10, 2019 11:12 PM

 in response to: Changsoo

 

Hyperparameters directly impact how the model is updated, they control the settings of the optimization algorithm that is used to "solve" for the model that gives the maximum expected cumulative return. Changing hyperparameters can improve the convergence of the model, or worsen it. For example, if you increase the learning rate, the weights in your neural network will update with larger increments. The model may improve (train) faster but the risk is that you miss the optimal solution, or the model never converges as updates are too large. Finding good hyperparameters often required trying a number of different combinations and then evaluating the performance of the model vs time spent training or some other metric. For example, I am busy training a 3m/s model (with 2 speed granularity) using a learning race of 0.001 and a low number of epochs. I can see during training at around 90 minutes my model is starting to do a lap now and then. If the learning rate was smaller, it would probably take longer for my model to complete a lap.



Hyperparameters는 모델이 업데이트되는 방식에 직접적으로 영향을 주며, 최적화 알고리즘의 세팅을 컨트롤 합니다. 이는 기대되는 누적된 return의 최대치를 주도록 모델에 대한 'solve'에 사용됩니다. Hyperparameters를 변경하면 모델의 수렴성이 향상되거나 악화 될 수 있습니다. 예를 들어, learning rate를 높이면 신경망의 weights가 더 큰 폭으로 증가하게 됩니다. 모델이 더 빠르게 향상 될 수는 있지만 최적의 솔루션이 누락되거나 업데이트가 너무 많아서 모델이 수렴하지 않을 위험이 있습니다. 훌륭한 Hyperparameters를 찾는 일은 종종 여러 가지 조합을 시도한 다음 모델의 퍼포먼스, 트레이닝 시간이나 다른 메트릭 등을 비교하면서 평가합니다.  예를 들어, 나는 0.001의  learning race와 낮은 epochs 수를 사용하여 3m / s 모델 (2 speed granularity)을 훈련 중입니다. 나는 약 90 분 후에 현재의 lap에 도달 하는 것을 경헙했습니다. 만약 learning rate가 더 낮 으면 내 모델이 lap에 도달할 때까지 더 오래 걸릴 것입니다.

 

Note that at 3m/s my model will not be as fast as a converged 5m/s (or faster) model, but those will take a long time to converge. We increased the training speed in the console to a max of 8 m/s. Training at speeds faster than 8m/s tends to send the model spinning off the track.



3m / s에서 내 모델은 converged 된 5m / s (또는 더 빠른) 모델만큼 빠르지는 않을 것이지만,  5m/s (or faster) model은 converged 하는데 오랜 시간이 걸릴 것입니다. 우리는 콘솔의 교육 속도를 최대 8 m / s로 높였습니다. 8m / s보다 빠른 속도로 훈련하면 트랙에서 모델이 회전하는 경향이 있습니다.



Kind regards

 


De Clercq

 

 

 

 

 

Re: What is good Action Space and Hyperparameter for Kumo Torakku track?

Posted by:  DeClercq-AWS

Posted on: Jun 11, 2019 10:46 AM

 in response to: Changsoo

 

Hi Changsoo

 

I did the following tests overnight to show impact of hyperparameters

나는 지난 밤에 hyperparameters의 영향을 보기 위해 다음과 같은 테스트들을 진행했습니다.
 

Trained 4 models on the Kumo Torakku training, each for 180 minutes, using my own reward function that does some center line following, scales reward for driving fast etc. 



Kumo Torakku 트랙에서 4개의 모델을 훈련 시켰습니다. 각각의 훈련 시간은 180분 입니다. reward function은 제것을 사용했습니다. 여기에느느 중앙선 따르기, 빠르게 드라이브하기 등에 reward를 주는 로직등이 있습니다.

I alternated
 

Model 1: 3 m/s 2 speed granularity with learning rate = 0.001 and epochs = 3
Model 2: 3 m/s 2 speed granularity with default hyperparameters
Model 3: 5 m/s 2 speed granularity with learning rate = 0.001 and epochs = 3
Model 4: 5 m/s 2 speed granularity with default hyperparameters

Doing 5 lap evaluation on Kumo Torakku training, showing lap completion percentages

Kumo Torakku 트랙에서 5 lap evaluation을 진행했으며 lap completion percentages는 다음과 같습니다.

Model 1: 100% 100% 100% 100% 100%
Model 2: 46% 67% 61% 100% 62%
Model 3: 70% 58% 100% 100% 100%
Model 4: 63% 88% 100% 36% 27%


This shows you the impact of playing with the hyperparameters.

이 예에서 당신은 hyperparameters가 주는 영향을 보실 수 있을 겁니다.

Kind regards

De Clercq

 

 

 

Re: What is good Action Space and Hyperparameter for Kumo Torakku track?

Posted by: Amazon Customer

Posted on: Jun 14, 2019 10:48 AM

 in response to: Changsoo

 

I copied all these waypoints out from the kumo log if it helps anyone.

https://gist.github.com/joezen777/98daa6496acf6a6df3269f253f9388f9

 

Draw Kumo Map

Draw Kumo Map. GitHub Gist: instantly share code, notes, and snippets.

gist.github.com

 

Re: What is good Action Space and Hyperparameter for Kumo Torakku track?

Posted by:  DeClercq-AWS

Posted on: Jun 14, 2019 4:21 PM

 in response to: Amazon Customer

 

Hi


To get the waypoints you can download the track's .npy file and use the code in the log-analysis workbook to extract them 



 

Log-analysis is here

https://github.com/aws-samples/aws-deepracer-workshops/tree/master/log-analysis

 

Track npys are here

https://github.com/aws-samples/aws-deepracer-workshops/tree/master/log-analysis/tracks

 

See breadcentric's blog on how to use log-analysis (link is in the Pit Stop page)

https://aws.amazon.com/deepracer/racing-tips/

 

Kind regards

De Clercq

 

 

 

Re: What is good Action Space and Hyperparameter for Kumo Torakku track?

Posted by: cladeira

Posted on: Jun 23, 2019 1:52 PM

 in response to: DeClercq-AWS

 

Hi @DeClercq-AWS,

 

I'm using your script, but i have a couple of questions:

 

1- Are Yaw and Steering on Degrees or Radians? It seems to be in Radians.

2- How can we include other parameters?

3- It seems Track Width is not returning the right value. How can we confirm?

4- Is Progress defined from 0-1 or 0-100? It seems it's based on 0-1, but the documentation says 0-100.

 

Thanks,

cladeira

 

 

 

 

두번째 질문은 reward_function으로 속도를 높이는 데 대한 질문이었다.

 

 

updated reward function to speed up but not working as expected.

Posted by: Changsoo

Posted on: Jul 2, 2019 11:24 AM

 

Hi

I updated reward_function to speed up using params but not working as expected.

 

The reward_function is this

 

=====================================

def reward_function(params):

'''

Example of rewarding the agent to follow center line

'''

reward=1e-3

# Read input parameters

track_width = params

distance_from_center = params

steering = params

speed = params

all_wheels_on_track = params

steps = params

progress = params

# Total num of steps we want the car to finish the lap, it will vary depends on the track length 



TOTAL_NUM_STEPS = 300

if distance_from_center >=0.0 and distance_from_center <= 0.03:

reward = 1.0

if not all_wheels_on_track:

reward = reward -1

else:

reward = reward + progress

# add speed penalty

if speed < 1.0:

reward *=0.80

else:

reward += speed

# Give additional reward if the car pass every 100 steps faster than expected

if (steps % 50) == 0 and progress > (steps / TOTAL_NUM_STEPS) :

reward += 10.0

return float(reward)

 

==================================================

 

There was no lines with bold in previous model.

 

I trained for 5 hours but the result is slower than before.

 

with Previous model, I could get 21~24 seconds to run the Empire City track but with the new model after training for 5 hour, I am getting 24~27 seconds. 



 

Other Action space and hyperparameters are same.

 

Anybody knows why the result is slower than before?

 

 

 

  Re: updated reward function to speed up but not working as expected.

Posted by:  ETAGGEL

Posted on: Jul 3, 2019 1:51 AM

 in response to: Changsoo

 

Hi,

 

You could insert some debug code to ensure it is getting applied, e.g. print("Fast reward bonus given"). 



디버그를 위한 코드를 넣어서 해당 부분이 제대로 적용되는지를 살펴 보실 수 있습니다.  e.g. print("Fast reward bonus given").
 

However, looking at your code, I think the issue is that progress is a value from 0-100, where as your steps / TOTAL_NUM_STEPS gives a fraction 0-1. So progress will nearly always be greater than that, and so your bonus is probably being given regardless of actual performance. 



코드를 살펴보면 progress는 0-100 사이의 값이며, steps / TOTAL_NUM_STEPS는 0에서 1 사이의 fraction이 됩니다. progress는 항상 steps / TOTAL_NUM_STEPS 보다 더 높을 것이므로 실제 퍼포먼스에 상관없이 reward가 주어지는 것 같습니다. 

I'm also not sure that a bonus of 10 every 50 steps would be enough to encourage the model to favour those actions. It would also depend on your discount rate, e.g. if you're using the default discount rate of 0.9 then that only equates to 10 steps look ahead, so your bonus would be invisible to most policy training updates. 



50 단계마다 10 씩 보너스가 주어지면 모델이 그 행동을 선호하도록 장려하기에 충분하지 않을 것입니다. 이것은 당신의 discount rate에 따라 그 영향이 달라 질 수 있습니다. e.g. 디폴트 discount rate인 0.9를 사용하는 경우 10 steps를 앞당겨 look ahead 하므로 보너스는 대부분의 정책 교육 업데이트에서 볼 수 없습니다.

Finally, you need to be careful of overfitting your model to the track. When that happens, lap times can get worse as the model learns the safer actions/track position to ensure more stability. So that might explain why your model got slower, even if your reward wasn't correctly being applied. 



 마지막으로 해당 트랙에 모델을 너무 많이 맞추는 것에 조심해야 합니다. 이러한 상황이 발생하면 모델이 안정성을 위해 좀 더 안전한 액션과 트랙 위치를 배우게 되어 랩 타임은 오히려 악화 될 수 있습니다. 따라서 보상이 올바르게 적용되지 않은 경우에도 모델이 왜 느려 졌는지 설명 할 수 있습니다.

Lyndon

 

 

 

https://github.com/aws-samples/aws-deepracer-workshops/blob/master/Workshops/2019-AWSSummits-AWSDeepRacerService/Lab1/Readme-Korean.md

 

aws-samples/aws-deepracer-workshops

DeepRacer workshop content. Contribute to aws-samples/aws-deepracer-workshops development by creating an account on GitHub.

github.com

 

반응형


반응형

6월에 열린 아마존 AWS Deepracer Virtual Race #2 에서 20.695초 104등을 차지했다.

총 참가자 수는 572명이다.

 

 

나는 Sofia와 Dalyo 두 종류의 모델을 훈련 시키고 있다. 

이번 대회에서는 주로 Sofia를 출전 시키다가 나중에 Dalyo를 출전 시켰다.

최고 점수는 Dalyo로 따냈다.

 

Sofia와 Dalyo 두 모델의 근본적인 차이점은 Action Space 였다.

 

Sofia Action Space

Dalyo Action Space

Sofia는 최고 스피드를 5로 했고 Dalyo는 최고 스피드를 8로 했다.

아무래도 최고 스피드를 더 높게 만든 Dalyo가 더 성적이 좋게 나온 것 같다.

처음에는 Sofia가 안정적이라서 계속 참가를 시켰다.

Dalyo는 거의 완주를 못 했었다. 아마 속도가 너무 빨리서 트랙을 벗어나는 경우가 많았나 보다.

 

나중에 좀 더 연습을 시켜서 Dalyo의 완주율이 50% 정도 올랐다. 

그 완주한 점수들이 Sofia 모델보다 훨씬 높아서 결국 최고 점수는 Dalyo가 차지 했다.

 

이 Action Space는 최초 모델을 만들 때 정해주고 그 다음에는 수정이 불가능 하게 돼 있다.

 

그래서 이 Sofia와 Dalyo를 훈련 시킬 때는 주로 reward_function을 수정해 가면서 성능 향상을 시키려고 노력했다.

 

Sofia는 거의 10번 훈련 시켰었는데 처음 Sofia를 탄생 시켰을 때의 reward_function은 다음과 같다.

 

def reward_function(params):
    '''
    Example of rewarding the agent to follow center line
    '''
    
    # Read input parameters
    track_width = params['track_width']
    distance_from_center = params['distance_from_center']
    
    # Calculate 3 markers that are at varying distances away from the center line
    marker_1 = 0.1 * track_width
    marker_2 = 0.25 * track_width
    marker_3 = 0.5 * track_width
    
    # Give higher reward if the car is closer to center line and vice versa
    if distance_from_center <= marker_1:
        reward = 1.0
    elif distance_from_center <= marker_2:
        reward = 0.5
    elif distance_from_center <= marker_3:
        reward = 0.1
    else:
        reward = 1e-3  # likely crashed/ close to off track
    
    return float(reward)

 

이 때의 트랙은 직선 트랙이었다.

그래서 중앙선에 가까운 경우 reward를 주는 로직을 만들어서 훈련 시켰다.

 

두번째도 Straigh track인데 함수를 조금 바꿨다.

 

def reward_function(params):
    '''
    Example of rewarding the agent to follow center line
    '''
    reward=1e-3
    
    # Read input parameters
    track_width = params['track_width']
    distance_from_center = params['distance_from_center']
    steering = params['steering_angle']
    speed = params['speed']
    all_wheels_on_track = params['all_wheels_on_track']
    
    if distance_from_center >=0.0 and distance_from_center <= 0.03:
        reward = 1.0
    
    if not all_wheels_on_track:
        reward = -1
    else:
        reward = params['progress']
        
    # Steering penality threshold, change the number based on your action space setting
    ABS_STEERING_THRESHOLD = 15

    # Penalize reward if the car is steering too much
    if steering > ABS_STEERING_THRESHOLD:
        reward *= 0.8
        
    # add speed penalty
    if speed < 2.5:
        reward *=0.80
    
    return float(reward)

 

완전 Stupid 한 script 이다.

추가한 부분에 reward = reward+n 이런식으로 reward가 더해지거나 빼지는 방식으로 스크립트를 작성했어야 했는데 멍청하게도 그냥 reward 값을 그냥 대입하는 방식으로 돼 있다.

 

위에 보면 차량이 center로 부터 0.03 이상 떨어지지 않으면 reward를 1.0으로 설정하고 그 다음에 트랙 안에 있지않으면 reward = reward-1을 해야 하는데 그냥 reward=-1을 해 버렸다.

reward=params['progress']도 reward=reward+['progress']로 했어야 했다.

 

하여간 이러한 실수가 이 후에도 계속 됐고 후반부에 가서야 이것이 잘 못 됐다는 걸 발견 했다.

 

위 스크립트에서는 distance_from_center 부분은 아무런 역할을 하지 않는 부분이 돼 버렸다.

 

세번째는 Oval Track에서 훈련 시켰고 네번째는 London loop에서 훈련 시켰다.

 

 

 

다섯번 째 부터 6월 대회에서 사용했던 Kumo Torakku Track에서 훈련 시켰다.

그리고 Dalyo라는 새 모델도 만들었다.

 

이 때부터 Sofia와 Dalyo 두 모델을 훈련 시켰지만 Sofia가 대부분 완주를 하고 Dalyo는 그렇지 못했기 때문에 계속 Sofia만 출전 시켰었다.

 

Sofia는 이후 10여번 훈련 시켰고 Dalyo는 4번 정도 더 훈련 시켰다.

 

Sofia의 Kumo Torakku 트랙의 마지막 reward_function은 이렇다.

 

def reward_function(params):
    '''
    Example of rewarding the agent to follow center line
    '''
    reward=1e-3
    
    # Read input parameters
    track_width = params['track_width']
    distance_from_center = params['distance_from_center']
    steering = params['steering_angle']
    speed = params['speed']
    all_wheels_on_track = params['all_wheels_on_track']
    
    if not all_wheels_on_track:
        reward = -1
    else:
        reward = params['progress']
        
    # add speed penalty
    if speed < 1.0:
        reward *=0.80
    else:
        reward += speed
    
    return float(reward)

 

speed를 좀 더 빨리 하기 위해 reward에 현재의 스피드를 더하는 로직을 사용했다.

근데 별 효과는 없었다.

 

Dalyo의 Kumo Torakku 트랙 마지막 reward_function도 똑 같다.

 

이 Virtual 경기 대회는 횟수에 상관없이 계속 모델을 참가 시킬 수 있기 때문에 (30분 간격으로) 나중에는 완주 횟수는 떨어지지만 점수가 더 높게 나오는 Dalyo 모델을 주로 출전 시켰고 결국은 104 등을 기록 했다.

 

 

7월에는 3번째 Virtual 대회가 열리고 1번의 offline 대회가 뉴욕에서 열릴 예정이다.

트랙은 둘 다 Empire City 트랙.

가능하면 둘 다 참가할 계획이다.

 

6월 Virtual 대회를 참가하면서 배운 것은 두가지

1. reward_function을 바꾼 후 당초 예상대로 그 변경 내용이 적용 되는지 확인 하는 것이 필요하다.

   AWS의 Debugging 툴을 활용해서 확인 해야 겠다.

2. 훈련을 위해 사용 되는 3가지 주요 세팅 중 Hyperparameter 를 활용한 성능 향상 방법을 배워야 겠다.

 

Action Space는 최초 모델을 생성할 때 설정하고 그 이후에는 변경이 불가능 하다.

reward_function과 Hyperparameter는 변경 가능한데 지금까지는 reward_function만 변경하면서 훈련 시켰다.

 

Hyperparameter는 잘 몰랐기 때문이다.

이제 Hyperparameter를 공부해서 이 부분도 모델 성능 향상에 활용해야 20초 대를 넘을 수 있을 것 같다.

 

 

이번 Empire City 트랙을 사용하는 Virtual Circuit에서는 15초대 진입과 50등 이내로 돌입하는 것을 목표로 참가할 계획이다.

 

화이팅!!!!!!!!!!!!

반응형

MEGAZONE CLOUD AWS DeepRacer League in Korea

2019. 6. 25. 22:23 | Posted by 솔웅


반응형

메가존 클라우드 AWS Deepracer League가 개최 됩니다.

 

참가 신청은 이곳에서 하실 수 있네요.

 

https://www.megazone.com/deepracer_league_01/ 

 

제1회 메가존 클라우드 AWS DeepRacer 리그 참가 신청

Asia-Pacific & KOREA, No.1 AWS Premier Consulting Partner 메가존 클라우드가 제1회 AWS DeepRacer 대회를 개최 합니다.

www.megazone.com

1등 상금이 100만원에 라스베가스 re:Invent 왕복 항공권 및 숙박권...... 와우....

 

AWS DeepRacer 차량 모델이 있으신 분은 참가하시면 좋겠네요.

(관계자 분이 확인해 주셨는데 DeepRacer 차량이 없어도 된답니다. 관심 있으신 분들은 일단 가셔서 주최측에 있는 차량을 이용해서 참가 하실 수 있답니다.)

 

제가 사는 곳은 조그만 동네라서 차량을 트랙에서 직접 테스트 해 볼 기회를 갖기 무척 힘듭니다.

한국에 계신 분들은 아주 좋은 기회인 듯 합니다.

 

참가하셔서 좋은 결과 있으시길 바랍니다.

 

 

Asia-Pacific & KOREA, No.1 AWS Premier Consulting Partner 메가존 클라우드가 AWS DeepRacer 리그를 개최 합니다.

 

실제 트랙이 설치되어 참가자가 직접 제작한 모델을 실제 차량(Agent)으로 주행 가능하며, 우승 시 상금 외 미국 re:Invent 기간 왕복 항공 및 숙박권이 주어지오니, 많은 신청 부탁 드립니다.

 

  • 대회명 : MEGAZONE CLOLUD Circuit Challenge
  • 대회 일자 : 2019년 7월 4일 (목)
  • 대회 장소 : 신도림 쉐라톤서울 디큐드시티호텔 6층 그랜드볼룸 [약도]
  • 대회 시간 : 오전 10시 ~ 오후 05시
  • 시상
    – 1등 : 상금 100만원 + re:Invent 왕복 항공 및 숙박권
    – 2등 : 상금 50만원
    – 3층 : 상금 30만원
  • 참가 자격 : 직접 제작한 AWS DeepRacer 모델을 보유한 사람

 

메가존 클라우드와 함께 세계 신기록에 도전해 보세요. [세계 기록 보기]

※ 본 리그는 메가존 클라우드가 자체적으로 진행하는 행사로 AWS에서 개최하는 리그와 무관합니다.
※ 상금 및 경품 지급 시 소득세 등 제세공과금이 차감 혹은 청구 됩니다.
※ 본 경기 규칙은 AWS DeepRacer League 규칙을 따르며 트랙 또한 re:Invent 2018 트랙에서 진행 됩니다.

 

========================================

 

저는 AWS Deepracer 모델 차량을 7월 중순에 받을 예정이라서 10월 3일 토론토에서 열리는 경기에 참가할 수 있을 것 같습니다.

 

휴가 내고 비행기 타고 가서 참가할 생각인데.... 

어떻게 될 지 아직...... 

 

지금 제가 만들고 있는 모델은 Kumo Torakku 트랙에서 23초를 기록하고 그 이후에는 전혀 기록이 나아 지질 않고 있습니다.

지금 1,2,3 등은 모두 10초 대 이던데.... 그런 기록은 어떻게 하면 낼 수 있을 지.......

 

3등은 Kimwooglae인걸로 봐서 한국분인것 같네요.

 

 

어떻게 연락해서 방법 좀 배울 수 없을까?

 

혹시 AWS Deepracer 공부하는 커뮤니티 있으면 알려 주세요.

혼자 공부하는 것 보다 서로 경험 공유하면서 배우면 훨씬 좋을 것 같습니다.

 

 

반응형