AWS DeepRacer의 로그 분석 도구를 사용해 보았습니다.

7240 단어 DeepRacerAWS

개시하다


나와 회사 사람들은 AWS DeepRacer가 제공하는 로그 분석 도구를 사용해 보았다.로그 분석 도구는 다음 AWS DeepRacer 워크숍의 GiitHub에서 노트북으로 공개됩니다.
https://github.com/aws-samples/aws-deepracer-workshops
주의
다음은 2019년 6월 6일의 견본 노트를 대상으로 한다.
다른 버전의 공책은 사용할 수 없을 수도 있습니다.

가져온 프로그램


정책 생성


다음 정책은 Jupter Notebook 인스턴스에 사용되는 IAM 역할에 미리 첨부됩니다.
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "logs:FilterLogEvents",
            "Resource": "*"
        }
    ]
}
※ IAM 스크롤 막대는 AWS DeepRacer 시뮬레이션과 동일한 방법으로 제작되었으니 참고하시기 바랍니다.
SageMaker로 DeepRacer 시뮬레이션을 시작하는 방법. IAM 캐릭터 제작.

Amazon SageMaker 노트북 환경 만들기


1. Management Constore에서 Amazon Sage Maker를 열고 AWS Deep Racer 콘솔과 같은 버지니아 북부 지역으로 전환합니다.
※ 노트 실례는 AWS 딥레이서 시뮬레이션과 같은 방법으로 제작되었으니 참고하시기 바랍니다.
SageMaker로 DeepRacer 시뮬레이션을 시작하는 방법 SageMaker 노트북 환경 제작
2. Jupter Notebook을 열고 Files 탭의 New 드롭다운 메뉴에서 Terminal 을 선택합니다.

3. Terminal 화면이 열리면 GiitHub에서 창고를 복제합니다.
$ cd SageMaker/
$ git clone https://github.com/aws-samples/aws-deepracer-workshops.git
4. Jupter Notebook의 "Files"탭에서
/aws-deepracer-workshops/log-analysis/DeepRacer Log Analysis.ipynb를 엽니다.
5. 환경 선택 화면을 표시하고 여기서 "conda tensorflow p36"을 선택합니다.
※ 이후 추가 포장 작업 중 동일한 환경을 선택한다.

노트북 환경에 따라 패키지 설치


본사에서 확인했을 때 노트북의 실행 도중shapely의 import 오류가 발생하여 anaconda의 환경에 미리 포장을 설치하였습니다.
  • Jupyter Notebook의 "Conda"탭에서 위쪽 목록 상자 Conda environments에 환경 일람을 표시하려면 "tensorflow p36"을 선택합니다.(그림1-1)
    오른쪽 아래 목록 상자의 표시가 "tensorflow p36"으로 변경되었는지 확인합니다.(그림 1-2)
  • 왼쪽 아래에 있는 목록 상자에서 "shappely"를 선택합니다.(그림2)
    텍스트에서 검색을 필터링할 수도 있습니다.
  • 중간 세그먼트의 "→"을 선택하여 설치를 시작합니다.(그림 3)
    설치 여부는 오른쪽 아래 목록 상자 위에 있는 "Refresh package list"아이콘을 눌러 확인하십시오.

  • 이렇게 준비됐습니다!

    로그 분석 수행


    수첩을 열 수 있다면, 위에서부터 칸을 실행합니다.(실행 버튼 또는 Shift+Enter 누름)

    Download the desired log file given the simulation ID


    AWS DeepRacer 콘솔을 사용하여 평가하려는 훈련과 관련된 아날로그 ID를 덮어씁니다.아날로그 ID는 AWS RoboMaker의 아날로그 작업에서 확인할 수 있습니다.
    stream_name = 'シミュレーションID' ## CHANGE This to your simulation application ID
    fname = 'logs/deepracer-%s.log' %stream_name
    cw_utils.download_log(fname, stream_prefix=stream_name)
    

    Load waypoints for the track you want to run analysis on


    트레이닝에 사용할 트랙 이름을 입력합니다.
    트랙 정보는 수시로 추가되는 것 같다.aws-deepracer-workshops/log-analysis/tracks/에서 파일 이름(=분석된 트랙 이름)을 확인할 수 있습니다.
    여기 5월 가상 회로 트럭의 London Loop을 지정합니다.
    def get_track_waypoints(track_name):
        return np.load("tracks/%s.npy" % track_name)
    waypoints = get_track_waypoints("London_Loop_Train")
    waypoints.shape
    

    Visualize the Track and Waypoints


    아까 선택한 London Loop 노선이 결과에 나왔어요.

    노트의 모든 내용을 다 소개할 수는 없지만, 이렇게 결과를 확인하면서 진행하겠습니다.
    주의
  • 노트의 중도기록 파일 이름이 고정값이 된 곳은 훈련 내용과 시간에 따라 파라미터가 기본 상태에서 잘못된 부분이 있기 때문에 매번 수정하고 조정한다.
  • 훈련의 시뮬레이션 로그뿐만 아니라 모델과 평가를 할 때의 시뮬레이션 ID가 정보를 입력하는 것이라는 분석도 있다.
  • 도 일부 분석은reInvent 과정만 지원한다.
  • 분석 결과


    Plot rewards per Iteration



    이야기가 진행될수록 보수는 어떻게 달라질까.

    Analyze the reward distribution for your reward function



    훈련 결과 얼마나 많은 코스를 통과했는지 시각적으로 쉽게 포착할 수 있었다.

    Path taken in a particular episode



    특정한 에피소드의 주행 궤적을 보여줄 수도 있다.

    Grid World Analysis



    나도 리벤트 노선을 시험해 봤어.나는 노선에서 얼마나 빠른지 안다.

    기타


    이외에도 분석의 종류가 많아 다 소개할 수 없고, 그 중에는 결과가 무슨 뜻인지 모르는 것도 있다.

    총결산


    로그 분석 도구를 사용하면 모든 분석 결과를 얻을 수 있지만 이러한 결과에서 무엇을 해석하고 어떻게 분석합니까?AWS DeepRacer에서 어떤 해석을 얻었습니까?초보자를 강화하는 데 상당히 어려운 내용이다.
    데이터 과학과 데이터 분석가의 일부 업무를 조금이나마 접할 수 있어 고생과 존중을 느꼈다.
    AWS DeepRacer의 조합에 대해서는 보수 함수를 실시해 학습 훈련을 강화하는 것은 물론 로그와 데이터를 바탕으로 분석하는 기술도 필요하다.

    좋은 웹페이지 즐겨찾기