katerakelly / oyster

Implementation of Efficient Off-policy Meta-learning via Probabilistic Context Variables (PEARL)
MIT License
472 stars 125 forks source link

Error when config recurrent encoder #13

Open duongnhatthang opened 4 years ago

duongnhatthang commented 4 years ago

I run the cheetah-vel experiment, only changing the recurrent encoder to True. I got the error:

collecting initial pool of data for train and eval Traceback (most recent call last): File "launch_experiment.py", line 144, in File "/mnt/thangdn3/miniconda3/envs/pearl/lib/python3.5/site-packages/click/core.py", line 764, in call return self.main(args, kwargs) File "/mnt/thangdn3/miniconda3/envs/pearl/lib/python3.5/site-packages/click/core.py", line 717, in main rv = self.invoke(ctx) File "/mnt/thangdn3/miniconda3/envs/pearl/lib/python3.5/site-packages/click/core.py", line 956, in invoke return ctx.invoke(self.callback, ctx.params) File "/mnt/thangdn3/miniconda3/envs/pearl/lib/python3.5/site-packages/click/core.py", line 555, in invoke return callback(args, kwargs) File "/mnt/thangdn3/miniconda3/envs/pearl/lib/python3.5/contextlib.py", line 77, in exit self.gen.throw(type, value, traceback) File "/mnt/thangdn3/miniconda3/envs/pearl/lib/python3.5/site-packages/click/core.py", line 105, in augment_usage_errors yield File "/mnt/thangdn3/miniconda3/envs/pearl/lib/python3.5/site-packages/click/core.py", line 555, in invoke return callback(*args, *kwargs) File "launch_experiment.py", line 141, in main if name == "main": File "launch_experiment.py", line 114, in experiment def deep_update_dict(fr, to): File "/home/thangdn3/investigate_PEARL/rlkit/core/rl_algorithm.py", line 192, in train self._try_toeval(it) File "/home/thangdn3/investigate_PEARL/rlkit/core/rl_algorithm.py", line 236, in _try_to_eval self.evaluate(epoch) File "/home/thangdn3/investigate_PEARL/rlkit/core/rl_algorithm.py", line 423, in evaluate self.agent.infer_posterior(context) File "/home/thangdn3/investigate_PEARL/rlkit/torch/sac/agent.py", line 125, in infer_posterior params = self.context_encoder(context) File "/mnt/thangdn3/miniconda3/envs/pearl/lib/python3.5/site-packages/torch/nn/modules/module.py", line 532, in call result = self.forward(input, kwargs) File "/home/thangdn3/investigate_PEARL/rlkit/torch/networks.py", line 168, in forward out, (hn, cn) = self.lstm(out, (self.hidden, torch.zeros(self.hidden.size()).to(ptu.device))) File "/mnt/thangdn3/miniconda3/envs/pearl/lib/python3.5/site-packages/torch/nn/modules/module.py", line 532, in call result = self.forward(*input, **kwargs) File "/mnt/thangdn3/miniconda3/envs/pearl/lib/python3.5/site-packages/torch/nn/modules/rnn.py", line 556, in forward self.check_forward_args(input, hx, batch_sizes) File "/mnt/thangdn3/miniconda3/envs/pearl/lib/python3.5/site-packages/torch/nn/modules/rnn.py", line 512, in check_forward_args 'Expected hidden[0] size {}, got {}') File "/mnt/thangdn3/miniconda3/envs/pearl/lib/python3.5/site-packages/torch/nn/modules/rnn.py", line 176, in check_hidden_size raise RuntimeError(msg.format(expected_hidden_size, tuple(hx.size()))) RuntimeError: Expected hidden[0] size (1, 1, 200), got (1, 16, 200)

katerakelly commented 4 years ago

Sorry the "recurrent" option is currently broken. It is on my TODO list to fix.