Closed lucascassiano closed 1 year ago
Adding:
class MyRLEnv(TextRLEnv):
num_envs = 1
Solved the previous issue, however I got a even worse error:
Traceback (most recent call last):
File "{...}/main.py", line 41, in <module>
pfrl.experiments.train_agent_batch_with_evaluation(
File "{...}lib/python3.10/site-packages/pfrl/experiments/train_agent_batch.py", line 247, in train_agent_batch_with_evaluation
eval_stats_history = train_agent_batch(
File "{...}lib/python3.10/site-packages/pfrl/experiments/train_agent_batch.py", line 67, in train_agent_batch
actions = agent.batch_act(obss)
File "{...}lib/python3.10/site-packages/torch/amp/autocast_mode.py", line 14, in decorate_autocast
return func(*args, **kwargs)
File "{...}lib/python3.10/site-packages/textrl/actor.py", line 115, in batch_act
return self._batch_act_train(batch_obs)
File "{...}lib/python3.10/site-packages/pfrl/agents/ppo.py", line 735, in _batch_act_train
action_distrib, batch_value = self.model(b_state)
File "{...}lib/python3.10/site-packages/torch/nn/modules/module.py", line 1194, in _call_impl
return forward_call(*input, **kwargs)
File "{...}lib/python3.10/site-packages/pfrl/nn/branched.py", line 30, in forward
return tuple(mod(*args, **kwargs) for mod in self.child_modules)
File "{...}lib/python3.10/site-packages/pfrl/nn/branched.py", line 30, in <genexpr>
return tuple(mod(*args, **kwargs) for mod in self.child_modules)
File "{...}lib/python3.10/site-packages/torch/nn/modules/module.py", line 1194, in _call_impl
return forward_call(*input, **kwargs)
File "{...}lib/python3.10/site-packages/torch/nn/modules/container.py", line 204, in forward
input = module(input)
File "{...}lib/python3.10/site-packages/torch/nn/modules/module.py", line 1194, in _call_impl
return forward_call(*input, **kwargs)
File "{...}lib/python3.10/site-packages/torch/amp/autocast_mode.py", line 14, in decorate_autocast
return func(*args, **kwargs)
File "{...}lib/python3.10/site-packages/textrl/actor.py", line 163, in forward
return torch.distributions.Categorical(probs=softmax(logits / temperature))
File "{...}lib/python3.10/site-packages/torch/nn/modules/module.py", line 1194, in _call_impl
return forward_call(*input, **kwargs)
File "{...}lib/python3.10/site-packages/torch/nn/modules/activation.py", line 1390, in forward
return F.softmax(input, self.dim, _stacklevel=5)
File "{...}lib/python3.10/site-packages/torch/nn/functional.py", line 1841, in softmax
ret = input.softmax(dim)
IndexError: Dimension out of range (expected to be in range of [-1, 0], but got 1)
Any ideas on how to solve this?
I mistakenly use pfrl.experiments.train_agent_batch_with_evaluation instead of pfrl.experiments.train_agent_with_evaluation
That is use for batch training, i am still testing that part.
It should be corrected.
Issue
I got the error
AttributeError: 'MyRLEnv' object has no attribute 'num_envs'
. Whatnum_envs
should be in this case? A function that returns1
?Environment
Executed code
Traceback