Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SIL #158

Open
qgallouedec opened this issue Feb 26, 2023 · 8 comments
Open

SIL #158

qgallouedec opened this issue Feb 26, 2023 · 8 comments
Labels
enhancement New feature or request

Comments

@qgallouedec
Copy link
Contributor

Self Imitation Learning
@emrul has implemented SAIL, see #139 (comment)

@emrul, is there an official implementation for those two? Do you match the results from the paper with your implementation?

@qgallouedec qgallouedec added the enhancement New feature or request label Feb 26, 2023
@emrul
Copy link

emrul commented Feb 26, 2023

Hi @qgallouedec - I haven't don't much testing but if there's no rush I'd love to work on this in my spare time. The official implementation appears to be here: https://github.com/google-research/google-research/tree/master/sail_rl

@qgallouedec
Copy link
Contributor Author

There is no rush at all :)

@richardjozsa
Copy link

Hey everyone,

I have tried the code what @emrul pasted in the IQN PR comments, it works.

One thing what I haven't got to work is the SubProcEenv wrapping. Just wanted to let you know. :)

@emrul
Copy link

emrul commented Feb 28, 2023

Thanks @richardjozsa - that's interesting because I exclusively use SubProcVecEnv for training and the Dummy vec env for evaluation. What happens when you use SubProcVecEnv?

@richardjozsa
Copy link

richardjozsa commented Feb 28, 2023

This is the error what I got, but if it works for you than I recheck. I use a customenv maybe that caused something.

Traceback (most recent call last):
RLTEST | File "/usr/lib/python3.10/multiprocessing/forkserver.py", line 274, in main
RLTEST | code = _serve_one(child_r, fds,
RLTEST | File "/usr/lib/python3.10/multiprocessing/forkserver.py", line 313, in _serve_one
RLTEST | code = spawn._main(child_r, parent_sentinel)
RLTEST | File "/usr/lib/python3.10/multiprocessing/spawn.py", line 126, in _main
RLTEST | self = reduction.pickle.load(from_parent)
RLTEST | File "/home/ftuser/.local/lib/python3.10/site-packages/stable_baselines3/common/vec_env/base_vec_env.py", line 375, in setstate
RLTEST | self.var = cloudpickle.loads(var)
RLTEST | ModuleNotFoundError: No module named 'base'

@emrul
Copy link

emrul commented Feb 28, 2023

... looks like an error trying to load your env from Pickle but in my modifications I don't make any changes to envs (the replay buffer holds the SAIL returns internally) so I don't think this should be caused by amendments.

@richardjozsa
Copy link

My bad sorry, it was in my environment, it works fine. Only comment, you have set the replay buffer to device= cpu. I guess that can be auto. :)

@emrul
Copy link

emrul commented Feb 28, 2023

My bad sorry, it was in my environment, it works fine. Only comment, you have set the replay buffer to device= cpu. I guess that can be auto. :)

Great, and yes - good catch on the device, I will correct that!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants