IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 创建自定义gym环境,并用stablebaseline3 -> 正文阅读

[人工智能]创建自定义gym环境,并用stablebaseline3

gym-gazebo安装

参考:
ubuntu18.04 gym-gazebo安装
Gym入门–从安装到第一个完整的代码示例
OpenAI Gym接口概要
安装gym库_强化学习Gym库学习实践(一)
强化学习快速上手:编写自定义通用gym环境类+主流开源强化学习框架调用

gym一共可以创建多少种环境

import gym
from gym import envs
env_list = envs.registry.all()
env_ids = [env_item.id for env_item in env_list]
print('There are {0} envs in gym'.format(len(env_ids)))
env_ids

深究代码

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

这里应该是用继承方法,抽象类与具体实现之间的关系,gym-gazebo中,具体的turtlebot环境:

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

其基类是gazebo_env.GazeboEnv

class GazeboCircuit2TurtlebotLidarEnv(gazebo_env.GazeboEnv):

GazeboEnv的基类是gym.Env,GazeboEnv中应该是统一包含了一些gazebo启动和关闭的内容,GazeboCircuit2TurtlebotLidarEnv类中是关于环境具体的设置(如step())

class GazeboEnv(gym.Env):

如果可以提前launch 对应gazebo环境,是不是就可以不用参考gym-gazebo来,而是直接gym,毕竟第一个安装教程的最后测试,不能同时打开gazebo程序和Gazebo可视化界面,刚刚开始调试的时候不太方便。

stable-baselines3 环境安装

1.anaconda创建python3.8环境,并激活环境

conda create -n sb python=3.8

2.安装pytorch,选择合适的cuda版本,安装速度的问题自己想办法
https://pytorch.org/

conda install pytorch torchvision torchaudio cudatoolkit=10.2 -c pytorch

测试pytorch与gpu是否可用

>>> import torch
>>> print(torch.cuda.is_available())

3.安装stable-baselines3

pip install stable-baselines3

如何自己创建gym环境

Gym学习(2)自定义注册Gym环境
定义gym环境的文件为以下结构
在这里插入图片描述 git上找到了gym-turtlebot3环境,跳过了gym-gazebo,需要提前launch gazebo环境,env 通过消息订阅的形式与环境交互。作者重写了tf 用于坐标转换(euler_from_quaternion),因为ros1自带tf只能py2.7编译通过,详细参考原文
https://github.com/ITTcs/gym-turtlebot3
安装步骤为:

conda activate sb 
git clone https://github.com/ITTcs/gym-turtlebot3
cd gym-turtlebot3
pip install -e .

实现

注册环境,可以通过向gym的通用接口(环境类的入口)写入环境名创建。除了环境名和接口两个基本信息外,奖励阈值和最大步长则是与训练相关的参数,还可以自行添加其他参数。

register(
    id='Robot-v0',
    entry_point='gym_robot.envs:RobotEnv'
)

init.py是引入环境类的入口函数,写入:

from gym_robot.envs.mytf.transformations import euler_from_quaternion
  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-04-27 11:19:34  更:2022-04-27 11:20:57 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 10:32:06-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码