Nat*_*sha 13 machine-learning python-3.x deep-learning openai-gym
我试图在渲染时实现 Atari Games,但出现如下错误:
line 283, in render
raise error.Error(
gym.error.Error: render(mode='human') is deprecated. Please supply `render_mode` when constructing your environment, e.g., gym.make(ID, render_mode='human'). The new `render_mode` keyword argument supports DPI scaling, audio, and native framerates.
Run Code Online (Sandbox Code Playgroud)
我收到的完整错误的屏幕截图附在此处。
我的代码如下:
episodes = 5
for episode in range(1, episodes+1):
state = env.reset()
done = False
score = 0
while not done:
env.render()
action = random.choice([0,1,2,3,4,5])
n_state, reward, done, info = env.step(action)
score+=reward
print('Episode:{} Score:{}'.format(episode, score))
env.close()
Run Code Online (Sandbox Code Playgroud)
堆栈溢出中有一个类似的帖子,其中给出的解决方案是:
pip install pyglet==1.2.4
Run Code Online (Sandbox Code Playgroud)
不幸的是这对我来说也不起作用。
Nat*_*sha 17
我自己已经想出来了。render_mode='human'解决方案是通过更新来更改我们正在工作的环境env:
env = gym.make('SpaceInvaders-v0', render_mode='human')
Run Code Online (Sandbox Code Playgroud)
完整代码:
import gym
import random
import time
env = gym.make('SpaceInvaders-v0', render_mode='human')
height, width, channels = env.observation_space.shape
actions = env.action_space.n
env.unwrapped.get_action_meanings()
episodes = 5
for episode in range(1, episodes+1):
state = env.reset()
done = False
score = 0
while not done:
time.sleep(0.1)
action = random.choice([0,1,2,3,4,5])
n_state, reward, done, info = env.step(action)
score+=reward
print('Episode:{} Score:{}'.format(episode, score))
env.close()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
26999 次 |
| 最近记录: |