gpt4 book ai didi

python - 使用openaigym(blackjack)制作ai

转载 作者:太空宇宙 更新时间:2023-11-03 21:22:07 25 4
gpt4 key购买 nike

我正在使用 openaigym 来制作二十一点的 AI。

但我不擅长 python 和gym,所以不知道如何完成代码。

我一直在尝试编写一个简单的代码来使用 Q-learning 构建人工智能。

但我对 open aigym 和 python 还不够熟悉。

我不知道如何检查状态的大小(env.observation_space.n 不起作用..只有 env.action_space.n 显示它的“2”)我的代码有点像健身游戏其他示例的副本(frozenlake)

帮助我完成这个简单的代码,以便我可以像 DQN 一样自己改进它。

import gym
import tensorflow as tf
import matplotlib.pyplot as plt
import numpy as np

env=gym.make('Blackjack-v0')

Q=np.zeros([400,env.action_space.n])

num_episodes=10000
dis=0.99
rList=[]

for i in range(num_episodes):
state = env.reset()
rALL = 0
done = False

while not done:
action=np.argmax(Q[state,:]+np.random.randn(1
,env.action_space.n)/(i+1))


new_state,reward,done,_=env.step(action)

Q[state, action] = reward + dis * np.max(Q[new_state, :])
print(rList)
rALL += reward
state = new_state

rList.append(rALL)\


print(Q)

我想看到奖励列表(rList)不断上升(如果我的算法有效)

也想知道如何很好地使用gym模块。

最佳答案

当我准确了解您想要什么时,我会更新此回复

  • 对于评论中的第一个问题,您可以使用 env.observation_space.n 获取操作数量,并通过 env.unwrapped.get_action_meanings() 获取操作的含义,如果您使用最新版本的gym
  • 对于第三个问题,您可以使用 env.render() 可视化游戏。

这是一个最小的工作示例,它使用 python3 和最新版本的gym版本“0.10.9”渲染游戏(您可以通过gym.__version__获取您的gym版本):

import time
import gym

# Create a breakout environment
env = gym.make('SpaceInvaders-v4')

# Reset it, returns the starting frame
frame = env.reset()

# Render
env.render()

is_done = False

while not is_done:
# Perform a random action, returns the new frame, reward and whether the game is over
frame, reward, is_done, _ = env.step(env.action_space.sample())
# Render
env.render()

time.sleep(0.01)
if is_done:
env.close()
break

关于python - 使用openaigym(blackjack)制作ai,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54160590/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com