joschu / modular_rl

Implementation of TRPO and related algorithms

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

VideoRecorder encoder exited with status -11

opened this issue · comments

Hi John,

I am working on a LfD paper. I need to record a trajectory and I wanted to use your pg algorithm in modular_rl package, available in openai gym with the environment 'Humanoid-v1'.

I installed all they libraries required, including keras 1.0.1 with theano backend, but when I ran:

python run_pg.py --gamma=0.995 --lam=0.97 --agent=modular_rl.agentzoo.TrpoAgent --max_kl=0.01 --cg_damping=0.1 --activation=tanh --n_iter=250 --seed=0 --timesteps_per_batch=50000 --env=Humanoid-v1

it returns:

Using cuDNN version 5110 on context None
Mapped name None to device cuda: GeForce GTX 780 Ti (0000:02:00.0)
Using Theano backend.
[2017-05-22 11:00:06,066] Making new env: Humanoid-v1
policy gradient config {'lam': 0.97, 'cg_damping': 0.1, 'env': 'Humanoid-v1', 'plot': False, 'activation': 'tanh', 'agent': 'modular_rl.agentzoo.TrpoAgent', 'outfile': '/tmp/a.h5', 'max_kl': 0.01, 'timestep_limit': 1000, 'video': 1, 'snapshot_every': 0, 'parallel': 0, 'n_iter': 250, 'load_snapshot': '', 'filter': 1, 'use_hdf': 0, 'seed': 0, 'hid_sizes': [64, 64], 'timesteps_per_batch': 50000, 'gamma': 0.995, 'metadata': ''}
[rawvideo @ 0x993f40] Estimating duration from bitrate, this may be inaccurate
Input #0, rawvideo, from 'pipe:':
Duration: N/A, start: 0.000000, bitrate: N/A
Stream #0:0: Video: rawvideo (RGB[24] / 0x18424752), rgb24, 500x500, 67 tbr, 67 tbn, 67 tbc
Traceback (most recent call last):
File "run_pg.py", line 60, in
run_policy_gradient_algorithm(env, agent, callback=callback, usercfg = cfg)
File "/home/pipeline3d/modular_rl-master/modular_rl/core.py", line 88, in run_policy_gradient_algorithm
paths = get_paths(env, agent, cfg, seed_iter)
File "/home/pipeline3d/modular_rl-master/modular_rl/core.py", line 106, in get_paths
paths = do_rollouts_serial(env, agent, cfg["timestep_limit"], cfg["timesteps_per_batch"], seed_iter)
File "/home/pipeline3d/modular_rl-master/modular_rl/core.py", line 142, in do_rollouts_serial
path = rollout(env, agent, timestep_limit)
File "/home/pipeline3d/modular_rl-master/modular_rl/core.py", line 125, in rollout
ob,rew,done,envinfo = env.step(action)
File "/home/pipeline3d/gym/gym/core.py", line 99, in step
return self._step(action)
File "/home/pipeline3d/gym/gym/wrappers/monitoring.py", line 34, in _step
done = self._after_step(observation, reward, done, info)
File "/home/pipeline3d/gym/gym/wrappers/monitoring.py", line 184, in _after_step
self.video_recorder.capture_frame()
File "/home/pipeline3d/gym/gym/monitoring/video_recorder.py", line 121, in capture_frame
self._encode_image_frame(frame)
File "/home/pipeline3d/gym/gym/monitoring/video_recorder.py", line 171, in _encode_image_frame
self.encoder.capture_frame(frame)
File "/home/pipeline3d/gym/gym/monitoring/video_recorder.py", line 306, in capture_frame
self.proc.stdin.write(frame.tobytes())
IOError: [Errno 32] Broken pipe
[2017-05-22 11:01:09,642] VideoRecorder encoder exited with status -11

It seems a problem with the VideoRecorder of openai gym, but I don't even need to record the video. How can i fix this issue? I need only to record the joint angles, that should be in this particular environment the first 22 elements of the observation vector and the actions that should be the joint torques.

Thank you