设置 OpenAI Gym(现为 Gymnasium)的显示宽度

问题描述 投票:0回答:2

我正在尝试在 Gymnasium(以前是 OpenAI Gym)中打印出一些值,例如:

import gymnasium as gym
env = gym.make("LunarLander-v2", render_mode="human")
observation, info = env.reset()

print(f'env.observation_space: {env.observation_space}')
print(f'obs: {observation}')

输出看起来像:

env.observation_space: Box([-90.        -90.         -5.         -5.         -3.1415927  -5.
  -0.         -0.       ], [90.        90.         5.         5.         3.1415927  5.
  1.         1.       ], (8,), float32)

obs: [-0.00316305  1.3999956  -0.3203935  -0.48554128  0.00367194  0.072574
  0.          0.        ]

有没有办法设置选项,例如

set_option('display.max_columns', 500)
set_option('display.width', 1000)
喜欢熊猫吗?

- 标签应该是

Gymnasium
,但现在只有
openai-gym
,所以我正在使用它。
- 我不确定 StackOverflow 是否适合提出这个问题,但是有很多这样的问题和有用的答案。如果有任何建议,请告诉我。

python reinforcement-learning openai-gym
2个回答
0
投票

Box2D
具有
np.array
表示。因此,您可以使用
np
选项进行打印:

import numpy as np
import sys
np.set_printoptions(threshold=sys.maxsize)

这一行表明系统打印了尽可能多的列。如果您现在将此应用于您的示例,它应该打印所有列。如果您遇到困难,请查看此线程文档


0
投票

由于你的观察是

np.array
类型的,你可以使用numpy的
array2string
方法。例如:

print(f'initial observation: {np.array2string(observation, precision=3, separator=",")}')
© www.soinside.com 2019 - 2024. All rights reserved.