【笔记】强化学习,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

有谁最后搞出来了求教

相关推荐
三水不滴7 小时前
Redis缓存更新策略
数据库·经验分享·redis·笔记·后端·缓存
ziqi5229 小时前
第二十四天笔记
笔记
马猴烧酒.9 小时前
【JAVA数据传输】Java 数据传输与转换详解笔记
java·数据库·笔记·tomcat·mybatis
ziqi52210 小时前
第二十五天笔记
前端·chrome·笔记
dalong1011 小时前
A11:plus 控件窗口绘图基础
笔记·aardio
历程里程碑11 小时前
Linxu14 进程一
linux·c语言·开发语言·数据结构·c++·笔记·算法
三水不滴12 小时前
Redis 持久化机制
数据库·经验分享·redis·笔记·缓存·性能优化
不断进步的咕咕怪12 小时前
meme分析
笔记
中屹指纹浏览器12 小时前
进程级沙箱隔离与WebGL指纹抗识别:指纹浏览器核心技术难点与工程落地
经验分享·笔记
sayang_shao12 小时前
Rust多线程编程学习笔记
笔记·学习·rust