openai / coinrun

Code for the paper "Quantifying Transfer in Reinforcement Learning"
https://blog.openai.com/quantifying-generalization-in-reinforcement-learning/
MIT License
388 stars 87 forks source link

AttributeError: 'CoinRunVecEnv' object has no attribute 'spec' #34

Closed yuan1202 closed 4 years ago

yuan1202 commented 5 years ago

Hi openai team

I am trying to setup the coinrun.

I have followed the installation instructions in the readme.md and had no problem.

However when i try to run training, e.g. python -m coinrun.train_agent --run-id myrun --num-levels 500

i get the this error: AttributeError: 'CoinRunVecEnv' object has no attribute 'spec'

========================================================== Logging to /tmp/openai-2019-05-02-15-39-56-889062 make: Entering directory '/home/yuanl/workspace/coinrun/coinrun' make: Nothing to be done for 'all'. make: Leaving directory '/home/yuanl/workspace/coinrun/coinrun' libpng warning: iCCP: known incorrect sRGB profile libpng warning: iCCP: known incorrect sRGB profile libpng warning: iCCP: known incorrect sRGB profile libpng warning: iCCP: known incorrect sRGB profile 2019-05-02 15:40:00.281504: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.1 SSE4.2 AVX AVX2 FMA 2019-05-02 15:40:00.293015: I tensorflow/core/platform/profile_utils/cpu_utils.cc:94] CPU Frequency: 3192000000 Hz 2019-05-02 15:40:00.295117: I tensorflow/compiler/xla/service/service.cc:150] XLA service 0x7fffd83b4fb0 executing computations on platform Host. Devices: 2019-05-02 15:40:00.295164: I tensorflow/compiler/xla/service/service.cc:158] StreamExecutor device (0): , OMP: Info #212: KMP_AFFINITY: decoding x2APIC ids. OMP: Info #213: KMP_AFFINITY: x2APIC ids not unique - decoding legacy APIC ids. OMP: Info #232: KMP_AFFINITY: legacy APIC ids not unique - parsing /proc/cpuinfo. OMP: Info #148: KMP_AFFINITY: Affinity capable, using cpuinfo file OMP: Info #154: KMP_AFFINITY: Initial OS proc set respected: 0-11 OMP: Info #156: KMP_AFFINITY: 12 available OS procs OMP: Info #157: KMP_AFFINITY: Uniform topology OMP: Info #179: KMP_AFFINITY: 1 packages x 6 cores/pkg x 2 threads/core (6 total cores) OMP: Info #214: KMP_AFFINITY: OS proc to physical thread map: OMP: Info #171: KMP_AFFINITY: OS proc 0 maps to package 0 core 0 thread 0 OMP: Info #171: KMP_AFFINITY: OS proc 1 maps to package 0 core 0 thread 1 OMP: Info #171: KMP_AFFINITY: OS proc 2 maps to package 0 core 1 thread 0 OMP: Info #171: KMP_AFFINITY: OS proc 3 maps to package 0 core 1 thread 1 OMP: Info #171: KMP_AFFINITY: OS proc 4 maps to package 0 core 2 thread 0 OMP: Info #171: KMP_AFFINITY: OS proc 5 maps to package 0 core 2 thread 1 OMP: Info #171: KMP_AFFINITY: OS proc 6 maps to package 0 core 3 thread 0 OMP: Info #171: KMP_AFFINITY: OS proc 7 maps to package 0 core 3 thread 1 OMP: Info #171: KMP_AFFINITY: OS proc 8 maps to package 0 core 4 thread 0 OMP: Info #171: KMP_AFFINITY: OS proc 9 maps to package 0 core 4 thread 1 OMP: Info #171: KMP_AFFINITY: OS proc 10 maps to package 0 core 5 thread 0 OMP: Info #171: KMP_AFFINITY: OS proc 11 maps to package 0 core 5 thread 1 OMP: Info #250: KMP_AFFINITY: pid 172 tid 172 thread 0 bound to OS proc set 0 2019-05-02 15:40:00.296139: I tensorflow/core/common_runtime/process_util.cc:71] Creating new thread pool with default inter op setting: 2. Tune using inter_op_parallelism_threads for best performance. Traceback (most recent call last): File "/home/yuanl/anaconda3/envs/ML/lib/python3.6/runpy.py", line 193, in _run_module_as_main "main", mod_spec) File "/home/yuanl/anaconda3/envs/ML/lib/python3.6/runpy.py", line 85, in _run_code exec(code, run_globals) File "/home/yuanl/workspace/coinrun/coinrun/train_agent.py", line 53, in main() File "/home/yuanl/workspace/coinrun/coinrun/train_agent.py", line 34, in main env = wrappers.add_final_wrappers(env) File "/home/yuanl/workspace/coinrun/coinrun/wrappers.py", line 99, in add_final_wrappers env = EpisodeRewardWrapper(env) File "/home/yuanl/workspace/coinrun/coinrun/wrappers.py", line 30, in init super(EpisodeRewardWrapper, self).init(env) File "/home/yuanl/anaconda3/envs/ML/lib/python3.6/site-packages/gym/core.py", line 217, in init self.spec = self.env.spec AttributeError: 'CoinRunVecEnv' object has no attribute 'spec'

Unimax commented 5 years ago

hi, while u wait for any of the contributors to reply, u can try gym==0.10.0. I am pretty sure the problem is due to the version of the library.

TylerJamesMalloy commented 5 years ago

I had the same issue and switching to gym==0.10.0 worked for me.

christopherhesse commented 5 years ago

Should requirements.txt use a more restrictive gym version? https://github.com/openai/coinrun/blob/master/requirements.txt#L2

Maybe it should be gym==0.10.0

christopherhesse commented 4 years ago

Fixed on master