Open akaridoi opened 3 years ago
10.29 下を見るとget_state_descがfor 文のしたになくても回っていたので、 state_desc→get_state_descにしたらできそう。
TypeError: 'method' object is not subscriptable
state_desc['body_pos_rot']['pelvis'][2]の添字にアクセスできないとのこと。
アクセスできないdef の下にある気がする
def init_reward_1(self):
下にあるのが原因か?
820, 880行目のrewardを直すと
def get_reward_2(self):
下には
state_desc = self.get_state_desc()
があったので、引用元がある。
すると、870行目のget_reward_2の方に入って動いた。
原因として
def init_reward_1
下だと、初期化の段階なので参照するものがない。
なので、出力にも
action space以下
Action Space: Box(22,)
Observation Space: Box(339,)
Box(22,)
Box(339,)
[ 9.40000000e-01 0.00000000e+00 0.00000000e+00 -0.00000000e+00
0.00000000e+00 -0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 2.38980926e-15 0.00000000e+00 6.84468576e-01
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
-0.00000000e+00 -0.00000000e+00 0.00000000e+00 -0.00000000e+00
4.92482258e-02 9.17432765e-01 1.38463395e-12 3.71986594e-02
6.35188229e-01 6.35776774e-10 5.90452104e-02 1.11160415e+00
2.86084060e-10 5.14705761e-02 1.02451113e+00 6.48533918e-12
4.93138396e-02 9.21144379e-01 3.05163209e-13 4.54599907e-02
7.93032186e-01 2.94237170e-14 4.56265180e-02 7.97046149e-01
6.23053922e-14 8.09513509e-02 1.22129679e+00 8.67472635e-16
6.02899728e-02 1.12161915e+00 1.12136267e-12 5.12828146e-02
1.02154866e+00 7.75469177e-09 4.93740421e-02 9.24706027e-01
1.25377090e-12 2.38980926e-15 -0.00000000e+00 6.84468576e-01
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
-0.00000000e+00 -0.00000000e+00 0.00000000e+00 -0.00000000e+00
4.92482258e-02 9.17432765e-01 1.38463395e-12 3.71986594e-02
6.35188229e-01 6.35776774e-10 5.90452104e-02 1.11160415e+00
2.86084060e-10 5.14705761e-02 1.02451113e+00 6.48533918e-12
4.93138396e-02 9.21144379e-01 3.05163209e-13 4.54599907e-02
7.93032186e-01 2.94237170e-14 4.56265180e-02 7.97046149e-01
6.23053922e-14 8.09513509e-02 1.22129679e+00 8.67472635e-16
6.02899728e-02 1.12161915e+00 1.12136267e-12 5.12828146e-02
1.02154866e+00 7.75469177e-09 4.93740421e-02 9.24706027e-01
1.25377090e-12 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
が表示されなかった。
学習後このような結果になった。 これを比較していきたい。 done, took 10377.345 seconds Testing for 5 episodes ... Episode 1: reward: -105.537, steps: 99 Episode 2: reward: -103.573, steps: 99 Episode 3: reward: -103.098, steps: 99 Episode 4: reward: -105.484, steps: 99 Episode 5: reward: -102.464, steps: 99
done, took 10377.345 seconds Testing for 5 episodes ... Episode 1: reward: -105.537, steps: 99 Episode 2: reward: -103.573, steps: 99 Episode 3: reward: -103.098, steps: 99 Episode 4: reward: -105.484, steps: 99 Episode 5: reward: -102.464, steps: 99
10.22 self.d_reward['alive'] = - (self.state_desc['body_pos_rot']['pelvis'][2]*2 + 0.1 self.state_desc['body_vel_rot']['pelvis'][2]**2) + 0.1 で書き換えたら、Attribute errorだったので、state_descの引用元のしたでないから変だとわかった。