Skip to content

关于10_A3C文件夹里面后三个代码文件出现如下问题:tuple indices must be integers or slices, not tuple的解决办法 #213

Description

@Jing-Loog

原因:原本代码中有这样一行代码s = self.env.reset(),返回的s是个元组类型([ 表示状态的三个数 ], { }) 。而choose_action函数里面的s[np.newaxis, :],这是对数组s的行增加一个维度操作。而按照原本的代码,传进来的是元组,故不可行。

解决:把元组的第一个数组元素抽取出来就好:s = self.env.reset() 改为 s = self.env.reset()[0]。

此外,self.env.step(a) 这里也会出错,因为它返回的有5个值,所以得用5个变量来接收,在info后随便加个变量名就好。(反正info和要加的变量名都没有用到,所以它俩的顺序不重要。)

另外,如果启用self.env.render(),要在gym.make里加个渲染模式,这不是重点,重点是代码中有两处gym.make,都要加上,否则没用。注意:我在开启渲染后会卡住,无法显示渲染窗口。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions