인프런 커뮤니티 질문&답변

고재청님의 프로필 이미지
고재청

작성한 질문수

유니티 머신러닝 에이전트 완전정복 (기초편)

DDPG 실습 2

스크립트 작성

작성

·

311

0

이거 스크립트 다 따라서 작성해야 하나요 아니면 따로 다운받을 수 있는 곳이 있나요?

영상 보면서 다 따라서 작성해봤는데... 안될꺼라 생각했는데 역시 안되네요. 주피터에서 작성했고 코드를 몇번 더 컴토했는데 잘 안되네요.. 일단 경로 설정부터 이해가 잘 안가네요. 6분15초에 나오는 ckpt  파일이랑 events 파일은 어떻게해서 만들어진건가요? save_path 랑 load_path 를 지정해야하는데 어떤걸 입력해야 하는지 잘 모르겠습니다.  처음부터 끝까지 실행해서 트론시물레이션이 작동되는 영상은 혹시 없는가요?.. 

답변 7

2

민규식님의 프로필 이미지
민규식
지식공유자

혹시 안되는것이 어떤 오류같은게 발생하는 것일까요? 그런 경우에는 오류 내용 추가해주시면 감사드리겠습니다!

ckpt 파일과 events 파일의 경우 코드를 실행하면 pytorch를 통해 저장한 모델이 ckpt, Tensorboard를 위해 학습과정을 살펴볼 수 있게 저장하는 파일이 events 파일입니다. save_path의 경우 해당 파일들이 저장되는 경로를 직접 지정해주셔도 되고 지금 지정된 경로대로 사용하시면 알아서 ./saved_models/Drone/ddpg/현재날짜시간분초 의 경로에 저장됩니다. load path의 경우 모델을 불러와서 사용하실 경우에 해당 모델이 저장된 경로를 지정해주시면 됩니다! 

강의 개요에서도 나왔지만 전체적인 코드나 환경 등은 아래 깃허브 내용을 참고해주시면 좋을 것 같습니다. 

https://github.com/reinforcement-learning-kr/Unity_ML_Agents_2.0 

1

민규식님의 프로필 이미지
민규식
지식공유자

아 그리고 혹시 drone.yaml 같은 파일이 없으면 직접 yaml을 만들어서 설정값을 넣고 돌리셔도 됩니다! 창 크기를 키우는 방법은 mlagents-learn을 통한 학습 명령어 예를 들어 --width 1080 --height 720 명령을 추가해주시면 1080x720 해상도로 창을 키워서 확인할 수 있습니다. 

다른 내용으로 말씀드려 죄송합니다만 제가 올린 질문도 확인해 주실 수 있으신가요? 감사합니다!

민규식님의 프로필 이미지
민규식
지식공유자

앗 넵! 환경 담당하시는 분께 부탁 드렸는데 아직 확인중이신 것 같습니다! 다시 한번 전달드리겠습니다! 

넵 감사합니다!

0

지금 작성한 코드를 유니티와 어떻게 연결하는건가요?

민규식님의 프로필 이미지
민규식
지식공유자

유니티 내부에서 작성한 코드는 유니티의 오브젝트에 적용하여 설정할 수 있습니다!

0

고재청님의 프로필 이미지
고재청
질문자

감사합니다!

0

고재청님의 프로필 이미지
고재청
질문자

링크를 살펴보던 중 drone.yaml 파일을 찾았습니다! 이제야 강사님께서 해주신 말씀이 어떤것인지 이해가 갑니다. 트레이닝을 지금 하는 중인데요, 혹시 창 크기를 키우는 방법은 없나요? 저번 3DBall 예제 같은 경우는 마우스 커서를 edge 에 가져가니 확대가 가능했었는데요, 혹시 창크기를 좀더 확대시켜서 출력하는 방법이 따로 있나요?

0

민규식님의 프로필 이미지
민규식
지식공유자

질문 주신 내용들 덕분에 저희 강의가 더 발전할 수 있는 것이니 궁금하신 부분이나 막히는 부분이 있으시면 편하게 질문 주세요! ddpg.py의 경우 관련 라이브러리만 설치되면 jupyter를 사용하셔도, 일반 명령프롬프트나 터미널을 사용하셔도, anaconda를 사용하셔도 다 실행하실 수 있습니다.

만약 저장 경로를 바꾸고 싶으신 경우에는 그렇게 저장 경로를 직접 바꾸시거나 혹은 이 py 파일을 원하는 곳으로 이동시키시고 거기서 상대 경로로 지정해주셔도 됩니다! load_path의 경우 저장된 딥러닝 모델을 불러오고 싶을 때 해당 모델의 경로를 지정하는 것이며 여기서는 ckpt 파일입니다. 만약 모델을 불러오지 않고 처음부터 학습시킬 경우에는 굳이 이 값을 설정해주지 않으셔도 됩니다! 영상에서는 20210514201212라고 되어있는데 이는 save_path를 통해 저장된 모델이 있는 폴더의 datetime 값입니다. 이에 따라 ckpt 파일까지 load path의 경로로 잡으실 필요는 없고 datetime 값까지만, 즉 폴더의 이름까지만 작성해주시면 해당 폴더 내부의 ckpt를 자동으로 불러오는 것으로 알고있습니다. 

0

고재청님의 프로필 이미지
고재청
질문자

먼저 제가 너무 번거롭게 잦은 질문을 함에도 친절히 답변해 주셔서 한번 더 감사의 말씀 드립니다! ㅠㅠ
강의 초반에 저희가 3DBall 예제를 통해서 mlagent 를 이용한 학습을 배웠잖아요. 강사님께서 해주신 ML-Agents 환경학습 1의 11:35초에 보면 YAML 파일과, Env_path 를 통해서 아나콘다에서 학습을 진행 시킬 수 있었습니다.


이번 드론 예제에서 제가 궁금한것은 https://github.com/reinforcement-learning-kr/Unity_ML_Agents_2.0/blob/main/agents/07.ddpg.py 다음 링크에 있는 "07.ddpg.py" 을 DDPG실습 1, 2를 통해서 배웠는데요, 이 py파일을 어떻게 써야하는지 모르겠습니다. 저는 지금 jupyter 에서 따라하고 있는 중입니다. 

가령, save_path 의 경우 자동적으로 파일이 된다지만 만약 제가 "D드라이버에 있는 InfLearn 이라는 폴더에 저장" 하고 싶은경우 경로 지정은 save_path = f"D:\InfLearn\{game}\DQN\{date_time}" 이라고 설정하면 되는 것인가요? 

또 load_path  의 경우 무슨 파일을 로드해야하나요? 드론 유니티환경을 build 해서 나온 environment 파일이 여기서 말하는 '모델파일' 인가요? 강의 영상에서는 20210514201212 라고 적혀 있네요. 07.ddpg.py를 실행하고 나서 생성된 파일 같다는 느낌은 드는데...저는 링크에 있는 py 파일을 그대로 복붙 했는데 안되네요. 

 

이걸 트레이닝 시키려면 아나콘다를 사용해야하나요? 아니면 jupyter 에서 실행해도 되는건가요?

 

 

고재청님의 프로필 이미지
고재청

작성한 질문수

질문하기