rlworkgroup/garage

Opensim Environments in Garage

Open

#1,517 建立於 2020年6月4日

在 GitHub 查看
 (4 留言) (0 反應) (0 負責人)Python (1,728 star) (297 fork)batch import
envsfeaturegood first issue

描述

Thanks for all of your help so far! I am running into an issue applying the garage repo to the gym environments that are released with the opensim package. I've modified the models so that the spec variables are as required by garage.

http://osim-rl.stanford.edu/

The issue I am hitting now seems to be that the pickling process can't work effectively for the environments provided. Namely, there is a SwigPy object in the init which cant be serialized. Is there any way to get around this other than excising this object from the environment?

Relevant error message below:

Thanks!

File "/home/chris/anaconda3/envs/osimRL/lib/python3.6/site-packages/garage/sampler/off_policy_vectorized_sampler.py", line 61, in for _ in range(n_envs)

File "/home/chris/anaconda3/envs/osimRL/lib/python3.6/site-packages/cloudpickle/cloudpickle.py", line 1125, in dumps cp.dump(obj)

File "/home/chris/anaconda3/envs/osimRL/lib/python3.6/site-packages/cloudpickle/cloudpickle.py", line 482, in dump return Pickler.dump(self, obj)

File "/home/chris/anaconda3/envs/osimRL/lib/python3.6/pickle.py", line 409, in dump self.save(obj)

File "/home/chris/anaconda3/envs/osimRL/lib/python3.6/pickle.py", line 521, in save self.save_reduce(obj=obj, *rv)

File "/home/chris/anaconda3/envs/osimRL/lib/python3.6/pickle.py", line 634, in save_reduce save(state)

File "/home/chris/anaconda3/envs/osimRL/lib/python3.6/pickle.py", line 476, in save f(self, obj) # Call unbound method with explicit self

File "/home/chris/anaconda3/envs/osimRL/lib/python3.6/pickle.py", line 821, in save_dict self._batch_setitems(obj.items())

File "/home/chris/anaconda3/envs/osimRL/lib/python3.6/pickle.py", line 847, in _batch_setitems save(v)

File "/home/chris/anaconda3/envs/osimRL/lib/python3.6/pickle.py", line 521, in save self.save_reduce(obj=obj, *rv)

File "/home/chris/anaconda3/envs/osimRL/lib/python3.6/pickle.py", line 634, in save_reduce save(state)

File "/home/chris/anaconda3/envs/osimRL/lib/python3.6/pickle.py", line 476, in save f(self, obj) # Call unbound method with explicit self

File "/home/chris/anaconda3/envs/osimRL/lib/python3.6/pickle.py", line 821, in save_dict self._batch_setitems(obj.items())

File "/home/chris/anaconda3/envs/osimRL/lib/python3.6/pickle.py", line 847, in _batch_setitems save(v)

File "/home/chris/anaconda3/envs/osimRL/lib/python3.6/pickle.py", line 521, in save self.save_reduce(obj=obj, *rv)

File "/home/chris/anaconda3/envs/osimRL/lib/python3.6/pickle.py", line 634, in save_reduce save(state)

File "/home/chris/anaconda3/envs/osimRL/lib/python3.6/pickle.py", line 476, in save f(self, obj) # Call unbound method with explicit self

File "/home/chris/anaconda3/envs/osimRL/lib/python3.6/pickle.py", line 821, in save_dict self._batch_setitems(obj.items())

File "/home/chris/anaconda3/envs/osimRL/lib/python3.6/pickle.py", line 852, in _batch_setitems save(v)

File "/home/chris/anaconda3/envs/osimRL/lib/python3.6/pickle.py", line 496, in save rv = reduce(self.proto)

TypeError: can't pickle SwigPyObject objects

貢獻者指南

Opensim Environments in Garage · rlworkgroup/garage#1517 | Good First Issue