heiner/nle

TODOs 2024

heiner opened this issue ยท 12 comments

  • Migrate away from deprecated OpenAI gym
  • Include NetHack 3.6.7 patches
  • Something about PEP 517?

Harder

  • Consider doing something more clever than abusing dlopen. Candidates: 1, 2; this should finally fix this bug.
    • This is hard but fun engineering. One way to do this could be to compile ELF binaries even on MacOS and load them with @tscmoo's hack above. It turns out that getting the MachO loader to work reliably and in a way that doesn't break across MacOS versions is hard.

Older

Misc

  • NetHack 3.7 (branch)
  • Fix whatever issues the dataset has

Should we create separate issues for each of these?

Feel free to do that. We can also just tick them off here; I'm not actually sure how many we'll actually get around doing.

Adding NetHack 3.7 would be great.

We can revisit 3.7 once it's actually out. Otherwise there's a large potential for duplicate work?

My bad, didn't realize it's still work-in-progress.

Thanks for picking up this repo and maintaining it. If you need an extra set of hands, I'd love to jump in and help.

The FB NLE repo has a number of pending pull requests -- maybe I could help port those over to this repo if you haven't already done that?

The more the merrier as they say! Which PRs did you have in mind?

I'm assuming you already merged your two PRs? (facebookresearch#373 and facebookresearch#371)

The other three that look interesting are:

I'm assuming you already merged your two PRs?

Yes, these are done and part of the v1.0.0 release.

Note that the notebook rendering solution facebookresearch#164 may have to be reworked as the render mode is not a parameter to render() in gymnasium.

I'm not sure about facebookresearch#363. The NetHackChallenge task has a fixed action space and the user shouldn't be overriding it.

Perhaps the better solution is to remove actions from the **kwargs in this task in case it is passed in (with a suitable warning that it is being ignored).

It's probably a moot point, given that the Challenge is over now, but it should be fixed anyway in case it is resurrected. ๐Ÿ˜

It's also possible to create a subset of actions in the base task, if people want that:

import gymnasium as gym
import nle
actions = tuple(nle.nethack.CompassDirection)
env=gym.make('NetHack-v0', actions=actions)

Cool, anything else I can help with? :)

There were some issues open in the upstream repo at the time of migration. I've done a quick scan of them and proposed that we take some of them on here (see discussion here: #28) to check and resolve.