【笔记】强化学习,gym的命令行图形化界面适配

搞了一大堆还是搞不出来放弃了

最后用matplotlib画出来看

bash 复制代码
import gym
import matplotlib.pyplot as plt
from IPython import display
import numpy as np
%matplotlib inline

env = gym.make('CartPole-v1', render_mode="rgb_array")
observation = env.reset()
a = 0
for _ in range(100):
    img = env.render()
    if img is not None:
        if _ % 10 ==0: # 加速动画
            if isinstance(img, list):
                img = img[0]
            img = np.array(img)
            img = img.squeeze()
            plt.imshow(img)
            display.display(plt.gcf())
            display.clear_output(wait=True)
    
    action = env.action_space.sample()
    
    step_result = env.step(action)

env.close()

适配环境命令失败记录

下载的依赖

bash 复制代码
apt-get install libgl1-mesa-dri libgl1-mesa-glx libegl1-mesa libgles2-mesa libxrandr2 libxinerama1 libxcursor1 libegl-mesa0 
apt-get install xserver-xorg-video-nouveau
apt-get install mesa-utils mesa-utils-extra
apt-get install xserver-xorg
apt-get install locales
dpkg-reconfigure locales
# 选择 en_US.UTF-8 UTF-8
dpkg-reconfigure mesa-utils
apt-get install xvfb xorg xauth 
apt-get install python3-opengl

更改的文件

bash 复制代码
mkdir -p /usr/lib/dri
ln -s /usr/lib/x86_64-linux-gnu/dri/nouveau_dri.so /usr/lib/dri/nouveau_dri.so
mv /root/anaconda3/envs/agent/lib/libstdc++.so.6 /root/anaconda3/envs/agent/lib/libstdc++.so.6.backup
ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /root/anaconda3/envs/agent/lib/

设置的环境变量

bash 复制代码
export LIBGL_ALWAYS_SOFTWARE=1
export LIBGL_ALWAYS_SOFTWARE=true
Xvfb :99 &
export DISPLAY=:0

有谁最后搞出来了求教

相关推荐
三品吉他手会点灯5 小时前
C语言学习笔记 - 20.C编程预备计算机专业知识 - 变量为什么必须的初始化【重点】
c语言·笔记·学习
kobesdu5 小时前
【ROS2实战笔记-12】rosshow:终端里的盲文可视化与无头机器人的现场调试
笔记·机器人·ros·移动机器人
sakiko_5 小时前
UIKit学习笔记1-创建项目(使用UIKit)、使用组件
笔记·学习
智者知已应修善业6 小时前
【51单片机中的打飞机设计】2023-8-25
c++·经验分享·笔记·算法·51单片机
简简单单做算法7 小时前
基于Qlearning强化学习和Parzen窗的图像分割算法matlab仿真
matlab·图像分割·强化学习·qlearning·parzen窗
深度之眼8 小时前
强化学习与目标检测王炸组合,IEEE Trans顶刊发表!
目标检测·计算机视觉·强化学习
智者知已应修善业8 小时前
【51单片机按键调节占空比3位数码管显示】2023-8-24
c++·经验分享·笔记·算法·51单片机
JasmineX-18 小时前
数据结构(笔记)——双向链表
c语言·数据结构·笔记·链表
程序猿乐锅10 小时前
【Tilas|第三篇】多表SQL语句
数据库·经验分享·笔记·学习·mysql
AOwhisky10 小时前
Kubernetes 学习笔记:集群管理、命名空间与 Pod 基础
linux·运维·笔记·学习·云原生·kubernetes