You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When you use the first way to add your SRL model, cf README of repo state_representation :
If your SRL model is a carateristic of the environment (position, angles, ...):
Add the name of the model to the registered_srl dictionary in state_representation/registry.py, using this format NAME: (SRLType.ENVIRONMENT, [LIMITED_TO_ENV]), where:
NAME: is your model's name.
[LIMITED_TO_ENV]: is the list of environments where this model works (will check for subclass), set to None if this model applies to every environment.
Modifiy the def getSRLState(self, observation) in the environments to return the data you want for this model.
Now you can call your SRL model using --srl-model NAME with train.py or pipeline.py.
The code seems to think you are loading an SRL model from srl_zoo, but you registered it as an environment SRLType. Have you added a path to the config files? before very recently (ef51ccd) we inferred the type of SRL, by seeing if the model had a defined path or not.
If this is not the case, can you post the exact tracecall and the parameters that where sent to the environment? (pipeline --verbose)
When you use the first way to add your SRL model, cf README of repo state_representation :
Then there is no problem with train.py, but pipeline.py does not run because of these lines : https://github.com/araffin/robotics-rl-srl/blob/master/rl_baselines/utils.py#L318
The problem is that it tries to call the SRLModel as if you would have added it with the second way specified in the README.
My fix is to avoid going in that if statement. I'm sure there a better way to fix it.
The text was updated successfully, but these errors were encountered: