Hello @anssi
Thanks for sharing this with us.
- Allow access to observation/action space variables that exist in normal Gym (e.g.
spaces
for Dict obs)
We will soon update the evaluator to allow access to a few more attributes. At the moment the following attributes/methods can be accessed.
On action space:
(
"contains",
"dtype",
"sample",
"shape",
"n",
)
On observation space:
(
"bounded_above",
"bounded_below",
"contains",
"dtype",
"high",
"is_bounded",
"low",
"sample",
"shape",
"n",
)
- This is perhaps result of bad programming from my end, but make sure variables that do not exist in the environment return appropriate exceptions. For example, I did
hasattr("something", env)
. something
was not a variable in the environment, but with aicrowd-gym it was set to None
. This caused hasattr
to return True and subsequently things failing.
I believe this happens with gym.Env
objects as well. For example, if I do
import gym
env = gym.make("CartPolve-v0")
setattr(env, "something", "some value")
it doesn’t return any error. If possible, can you share with a simple example the expected behaviour?
Note: During the evaluation, the env object you have access to is a proxy object and not the actual gym.Env
instance. So setting attributes from your code will not set any attributes on the actual env object. If you have any specific use case for doing this, please feel free to reach out to us and we can try to accommodate your use case.
Edit: Sorry, misread the last part. We will try to get the read access to all the env attributes in our future releases.