RL学习笔记(一)

官网

OpenAI Spinning Up

学习资源

蘑菇书EasyRL-文字描述,浅显易懂

莫烦python-动画描述,浅显易懂,部分课程含有代码,但是注意TensorFlow版本​​​​​​​

 MATLAB之工程师谈强化学习-MATLAB强化学习入坑必备​​​​​​​

 大神王树森-理论推导、逻辑清晰​​​​​​​

一、安装有关:

1. 激活环境命令:

conda activate pytorch


2. To install Stable Baselines3 with pip, execute:

pip install stable-baselines3[extra]

[Stable Baselines3官网]()官网

3. A simple, continuous-control environment for OpenAI Gym安装

  • 源代码网址 

       gym-cartpole-swingup

  • 安装环境要求为TensorFlow
conda activate pytorch

pip install gym-cartpole-swingup

安装成功后显示如下:


 

二、环境(env)

1. 参考

莫烦python 从头开始做一个机器手臂1 搭建结构

2. 环境安装目录

若安装不成功提示如下错误

fatal: destination path 'cartpole-swingup-envs' already exists and is not an empty directory.

将下载的已经封装好环境放入gym安装目录内

D:\Anaconda3\envs\gym\Lib\site-packages

 测试环境链接

3. render函数

  • 此函数中定义显示物体动作,其旋转坐标方向可能会与定义环境不同,如旋转角度,在环境中正向可以逆时针和顺时针两种,在次环境中逆时针方向为正向旋转角度,顺时针为负向旋转角度
  • 竖直向上为0弧度位置

  • 显示需与显示屏幕大小成一定比例关系,其计算程序为:
scale = screen_width / world_width
        
polelen = scale * polewidth  # 0.6 or self.l1
  • 选装角度起始位置为上一个参考运动物体杆的方向,如第一个物体旋转45度,第二个物体同样定义旋转45度,则有第二个物体绕原点的旋转角度为90度(此处只是说明,gym中角度单位为弧度)

三、调试

 1. tensorflow因为版本不同会报错,采用如下命令可以避免报错

import tensorflow.compat.v1 as tf

2. 报错

RuntimeError: tf.placeholder() is not compatible with eager execution

在session中执行,但在使用T的ensorFlow 2.0及以上版本中,默认情况下开启了紧急执行模式,即定义即执行。

所以,我们需要在上面的语句前定义一下它不着急执行(原文摘自调皮李小怪博客)

解决方法,添加如下代码:

tf.compat.v1.disable_eager_execution()
x = tf.compat.v1.placeholder(tf.float32, [None, 784])

3. 报错

AttributeError: module 'gym.envs.box2d' has no attribute 'BipedalWalker'

原因分析,没有安装box2d

解决方案

conda activate pytorch

pip install box2d-py

4. 函数说明

from torch.utils.tensorboard import SummaryWriter

# create a summary writer with automatically generated folder name.

writer = SummaryWriter()

 

Gym中Space类的层级

  • sample() 从该空间中返回随机样本
  • contains(x) 检验参数x是否属于空间
  • Discrete类表示一个互斥的元素集,例如Discrete(n=4)表示动作空间有4个方向
  • Box类表示有理数的n维张量,在[low,high]之间,比如油门的0.0~1.0之间的值
  • Tuple类将不同的Space实例组合起来,例如Tuple(spaces=(Box(low=-1.0, high=1.0, dtype=np.float32), Discrete(n=3), Discrete(n=2)))

基本只是点整理参考博客《深度强化学习实践》学习内容整理​​​​​​​

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值