强化学习实践(二)Gym(安装、环境搭建、运行倒立摆(代码可运行))

2023-10-06 12:39

本文主要是介绍强化学习实践(二)Gym(安装、环境搭建、运行倒立摆(代码可运行)),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.准备工作

      优先选用conda,conda不仅可以安装python,也是环境管理的工具,我们可以通过conda创建python环境,每个环境之间是相互独立,这样不同的环境可以使用不同版本的python,不同版本的开发包,避免了Python版本不同需要来回切换的问题。

      gym目前并不支持python3.11版本,但我最初安装的conda的python是3.11版本,所以更换成3.8 版本:解决

2.安装及测试

2.1虚拟环境

conda create --name Gym python=3.7 # 创建虚拟环境,其中可Gym替换成任何名字,3.7可替换成任何版本conda activate Gym # 激活虚拟环境

2.2安装

1.最小化安装(只包括少量的内置环境,如算法环境、简单文字游戏环境和经典控制环境)

pip install gym
pip install pygame
pip install numpy

强化学习笔记:Gym入门--从安装到第一个完整的代码示例_gym安装-CSDN博客

2.完整安装

pip install --upgrade gym[atari] # 以atari为例,按照类别安装
pip install --upgrade gym[all]   # 全部安装

2.2测试(本代码可运行)

import gym
import time
# 生成环境
env = gym.make('CartPole-v1', render_mode='human') # human指在人类显示器或终端上渲染
# 环境初始化
state = env.reset()
# 循环交互
while True:# 渲染画面env.render()# 从动作空间随机获取一个动作action = env.action_space.sample()# agent与环境进行一步交互state, reward, done, truncated, info = env.step(action)print('动作 = {0}: 当前状态 = {1}, 奖励 = {2}, 结束标志 = {3}, 日志信息 = {4}'.format(action, state, reward, done,info))# 判断当前episode 是否完成if done:print('done')breaktime.sleep(0.1)
# 环境结束
env.close()

代码2:2

3.一些问题

①在电脑终端中无法打开虚拟环境:

解决:activate base  #先打开基础环境
activate pytorch #再打开其他环境,pytorch可替换成你的环境

②最开始可以在pycharm中激活虚拟环境,后进行一番操作后反而不能激活。

解决:最开始看其他博主所言怀疑是未在系统变量中添加conda地址,但添加后依然无用。最后新建项目基于Conda解决,但之间在Virtualenv环境下是可以激活虚拟环境的,问题待解。

注意:Virtualenv环境下设置的是python.exe,Conda环境下是conba.bat,其位置一般在library/bin目录下。

参考文献

1.强化学习笔记:Gym入门--从安装到第一个完整的代码示例_gym安装-CSDN博客

2.强化学习Openai Gym基础环境搭建_强化学习环境-CSDN博客

3.构建自己的gym训练环境 巨详细_gym自定义环境-CSDN博客 

4.python 笔记 :Gym库 (官方文档笔记)_python gym_UQI-LIUWJ的博客-CSDN博客

5.强化学习笔记:多臂老虎机问题(2)--Python仿真_k-armed bandit python code-CSDN博客 

这篇关于强化学习实践(二)Gym(安装、环境搭建、运行倒立摆(代码可运行))的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/153075

相关文章

python使用Akshare与Streamlit实现股票估值分析教程(图文代码)

《python使用Akshare与Streamlit实现股票估值分析教程(图文代码)》入职测试中的一道题,要求:从Akshare下载某一个股票近十年的财务报表包括,资产负债表,利润表,现金流量表,保存... 目录一、前言二、核心知识点梳理1、Akshare数据获取2、Pandas数据处理3、Matplotl

Django开发时如何避免频繁发送短信验证码(python图文代码)

《Django开发时如何避免频繁发送短信验证码(python图文代码)》Django开发时,为防止频繁发送验证码,后端需用Redis限制请求频率,结合管道技术提升效率,通过生产者消费者模式解耦业务逻辑... 目录避免频繁发送 验证码1. www.chinasem.cn避免频繁发送 验证码逻辑分析2. 避免频繁

Win10安装Maven与环境变量配置过程

《Win10安装Maven与环境变量配置过程》本文介绍Maven的安装与配置方法,涵盖下载、环境变量设置、本地仓库及镜像配置,指导如何在IDEA中正确配置Maven,适用于Java及其他语言项目的构建... 目录Maven 是什么?一、下载二、安装三、配置环境四、验证测试五、配置本地仓库六、配置国内镜像地址

精选20个好玩又实用的的Python实战项目(有图文代码)

《精选20个好玩又实用的的Python实战项目(有图文代码)》文章介绍了20个实用Python项目,涵盖游戏开发、工具应用、图像处理、机器学习等,使用Tkinter、PIL、OpenCV、Kivy等库... 目录① 猜字游戏② 闹钟③ 骰子模拟器④ 二维码⑤ 语言检测⑥ 加密和解密⑦ URL缩短⑧ 音乐播放

Spring Boot集成/输出/日志级别控制/持久化开发实践

《SpringBoot集成/输出/日志级别控制/持久化开发实践》SpringBoot默认集成Logback,支持灵活日志级别配置(INFO/DEBUG等),输出包含时间戳、级别、类名等信息,并可通过... 目录一、日志概述1.1、Spring Boot日志简介1.2、日志框架与默认配置1.3、日志的核心作用

Python使用Tenacity一行代码实现自动重试详解

《Python使用Tenacity一行代码实现自动重试详解》tenacity是一个专为Python设计的通用重试库,它的核心理念就是用简单、清晰的方式,为任何可能失败的操作添加重试能力,下面我们就来看... 目录一切始于一个简单的 API 调用Tenacity 入门:一行代码实现优雅重试精细控制:让重试按我

破茧 JDBC:MyBatis 在 Spring Boot 中的轻量实践指南

《破茧JDBC:MyBatis在SpringBoot中的轻量实践指南》MyBatis是持久层框架,简化JDBC开发,通过接口+XML/注解实现数据访问,动态代理生成实现类,支持增删改查及参数... 目录一、什么是 MyBATis二、 MyBatis 入门2.1、创建项目2.2、配置数据库连接字符串2.3、入

Python安装Pandas库的两种方法

《Python安装Pandas库的两种方法》本文介绍了三种安装PythonPandas库的方法,通过cmd命令行安装并解决版本冲突,手动下载whl文件安装,更换国内镜像源加速下载,最后建议用pipli... 目录方法一:cmd命令行执行pip install pandas方法二:找到pandas下载库,然后

SpringBoot多环境配置数据读取方式

《SpringBoot多环境配置数据读取方式》SpringBoot通过环境隔离机制,支持properties/yaml/yml多格式配置,结合@Value、Environment和@Configura... 目录一、多环境配置的核心思路二、3种配置文件格式详解2.1 properties格式(传统格式)1.

Android Paging 分页加载库使用实践

《AndroidPaging分页加载库使用实践》AndroidPaging库是Jetpack组件的一部分,它提供了一套完整的解决方案来处理大型数据集的分页加载,本文将深入探讨Paging库... 目录前言一、Paging 库概述二、Paging 3 核心组件1. PagingSource2. Pager3.