inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

DQN 모델 + 에피소드 종료 후 obs 의 값이 null

308

조성일

작성한 질문수 2

2

안녕하세요.

인프런에서 제공하는 DQN 강좌를 보고, 

https://github.com/Unity-Technologies/ml-agents/blob/release_19_docs/docs/Learning-Environment-Create-New.md 에서 제공하는 

환경을 만든 뒤에  DQN agent로 학습하려고 돌렸는데, 

에피소드가 끝난 뒤에 get_steps 로 리턴받은 decisionstep 의 obs 값이 null로 들어가면서 오동작을 하게 되더라구요.

C# 스크립트가 문제 있는지 unity가 제공하는 ppo 모델로 확인 했을 땐, 문제가 없었습니다. 

어떤 부분을 놓쳤는지 잘 모르겠습니다. 

 

 

 

unity 강화학습 머신러닝 배워볼래요? unity-ml-agents

답변 2

1

조성일

    public override void Initialize()

    {

        RequestDecision();

    }

모델을 만들어서 학습하는 경우는 별도로 호출해줘야 하는 것 같습니다.

0

정규열

안녕하세요! 혹시 작성하셨던 Agent 스크립트와 인스펙터에 설정 정보들 공유 가능하실까요?

0

조성일

답변 고맙습니다.

파이썬 코드도 고치고, C# 에이전트 소스도 고치다 보니까 원본이 남아있지 않습니다. 

만약에 추론한 게 맞다 면 저 함수를 호출하지 않았을 때 또 발생할 터니까요.

그 때 프로젝트도 같이 올려서 공유하도록 하겠습니다.

 

그리고 앞으로 질문할 때는 프로젝트도 올리면서 질문하겠습니다. 

 

 

0

조성일

이번에 유니티로 틱택토 환경을 만들어서

pytorch로 DQN 모델을 만들어서 학습 할 때는

C#코드에서 RequestDecision(); 코드 호출없이 잘 되네요.

아무래도 env.step() 이 콜을 해서  환경을 업데이트 했어야 했는데

그걸 하지 않지 않았던 게 문제 였던 것 같습니다.

액션을 하고, 에피소드가 끝났을 때 환경을 업데이트를 해주지 않았고

env.get_step(behavior_name)을 콜 했을 때

obs 값이 null 이더라고요. 그 때 눈치 챘습니다. 

그래서 그 문제를 c#코드에서 RequestDecsion()을 호출함으로써

env를 업데이트 한게 아니었나 싶어요.

 

env에서 set_action()을 한다고 해서 다음 스텝으로 진행 한다고 착각을 했었고

예제 코드를 보니까 set_action을 하면 step 콜 하더라고요.

 

결론 : set_action을 하면 업데이트를 위해 step을 콜 해야 함

 

 

설치 프로그램 버전 질문있습니다.

0

91

2

env 환경경로 입력방법

0

93

2

onnx에 대해서

0

132

1

텐서플로우가 안열립니다

0

118

2

DQN을 위한 파라메터값 세팅에서 goal-plus, goal-ex

0

93

1

dqn 인덱스 에러

0

114

3

2025년 pip ml agents 설치 에러

0

233

1

DQN 실행 오류

0

316

2

ML-Agents 살펴보기 11페이지 질문입니다.

0

223

1

배웠던 내용을 기반으로 match3 인공지능으로 플레이 하는 걸 만들고 있는데.. 질문이 있습니다.

0

391

2

3DBall 학습 중 문제

0

223

1

mlagents-learn --hlep

0

242

1

DQN 환경 학습

0

378

3

DQN 함수를 어디에다 만들고 실행하나요??>?>

0

350

1

갑자기 Template>Scripts 폴더는 어디에서 만들어졌는지...

0

284

2

mlagents-learn 에러 수정 방법을 문의드립니다.

0

658

3

Pyuthon API 적용

0

717

7

GridWorld, CollectObservations에서 에러 질문입니다.

0

656

1

yaml을 이용한 GAIL 및 BC를 mlagents-learn으로 실행 시 에러

0

467

1

GridWorld, 유니티에서 실행하면 observation 관련 에러가 뜹니다.

0

500

2

PPO Parameters에서 normalize 관련 질문입니다.

0

358

1

GridWorld 가 작동은 잘 되는데, score가 너무 낮게 나와요.

0

573

3

GridWorld가 움직이지 않고, time out 으로 중지됩니다.

0

496

2

싱글에이전트 코드를 멀티에이전트 코드로 수정 관련

0

416

2