强化学习代码从零开始学习-1

知识点:

gym的核心接口是environment。环境中提供一下几种核心的方法:

①reset():重置环境状态,回到初始环境,方便开始下一回合训练。

②step(action):推进一个时间步长,粗俗的理解就是,你把这个动作action,作用到环境中,然后这个方法返回环境被作用后的一些状态啥玩意等东西。传入的参数是一个要执行到环境中的动作action,返回的参数有四个:

         <1>observation (这是一个对象):对环境的这次观测;

         <2>reward (float类型):环境处在当前状态,被作用了上面的动作action,返回一个奖励

         <3>done (boolen类型):代表是否需要重置环境;

          <4>info (dict字典类型):用于调试诊断的信息。

③render():重新绘制一帧图像。

#!/usr/bin/env python 
# -*- coding:utf-8 -*-

import gym
import numpy as np

#创建一个gym自带的最简单的悬崖游戏
env = gym.make("CliffWalking-v0")  #构建一个名字叫做“CliffWalking-v0”的gym场景(其中这个名字必要在gym包中存在,不能使用gym中没有的游戏名)
env.reset()   #游戏重置

while True:
    action = np.random.randint(0, 4)   #产生一个0-3的随机整数,作为动作,0-3分别表示的动作为:上,右,下,左

    observation, reward, done, info = env.step(action)  #向环境中作用动作action

    env.render()     #新绘制环境的效果图

    if done:   #当还没达到目标点时,返回的done是False, 如果达到目标点后,返回的值为True;
        break

 

 

 

你可能感兴趣的:(PyTorch,python,强化学习,pytorch,机器学习,神经网络,强化学习)