Skip to content

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

@Jing-Loog

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,都要加上,否则没用。注意:我在开启渲染后会卡住,无法显示渲染窗口。

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