码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 强化学习实践(二)Gym(安装、环境搭建、运行倒立摆(代码可运行))


    1.准备工作

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

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

    2.安装及测试

    2.1虚拟环境

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

    2.2安装

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

    1. pip install gym
    2. pip install pygame
    3. pip install numpy

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

    此外:也可以直接下载gym地址,笔者下载版本为gym-0.26.2.zip,下载目录为D:\anaconda3\Lib\site-packages,最后用以下代码安装

    pip install D:\anaconda3\Lib\site-packages\gym-0.26.2.zip

    2.完整安装

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

    2.2测试(本代码可运行)

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

    代码2:2

    3.一些问题

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

    1. 解决:
    2. activate base #先打开基础环境
    3. 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博客 

  • 相关阅读:
    剑指Offer04. 二维数组中的查找【中等】
    【生活篇】~ “金九“前半段小结 及 晚来的中秋祝福
    【C++11】C++的新特性(详解)
    STM32笔记—定时器
    Spring框架的两大核心IOC&DI
    【Java UI】HarmonyOs如何集成Hawk
    Linux:线程安全,多线程的应用
    什么是运放的虚短和虚断
    工程项目管理的主要内容都是什么?
    Java——聊聊JUC中的锁(synchronized & Lock & ReentrantLock)
  • 原文地址:https://blog.csdn.net/weixin_48878618/article/details/133563571
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号