强化学习RL实战篇

动手实现RL

运行一个环境(environment)

运行一维一级倒立摆环境:

import gym
env = gym.make('CartPole-v0')
env.reset()
for _ in range(1000):
    env.render()
    env.step(env.action_space.sample())

一个典型的agent-environment loop 的实现

import gym
#建立一个环境
env = gym.make('CartPole-v0')
for i_episode in range(20):
    #给环境一个监视
    observation = env.reset()
    for t in range(100):
        env.render()
        print(observation)
        #确定事件
        action = env.action_space.sample()
        observation, reward, done, info = env.step(action)
        if done:
            print("Episode finished after {} timesteps".format(t+1))
            break

环境的step 函数返回我们需要的信息,step 函数返回四个值,
1、observation (object):观察,一个与环境相关的对象描述你观察到的环境。如相机的像素信息,机器人的角速度和角加速度,棋盘游戏中的棋盘状态。
2、reward (float):回报,之前行为获得的所有回报之和。不同环境的计算方式不一,但目标总是增加自己的总回报。
3、done (boolean):判断是否到了重新设定(reset)环境的时刻了。done 为true 说明该episode 完成。
4、info(dict):用于调试的诊断信息。但是,正式的评价这不允许使用该信息进行学习。

常用的gym包含的包
from gym import spaces
from gym import envs

你可能感兴趣的:(python应用,深度学习,机器学习)