LLNL/Abmarl

Support newer rllib for newer tensorflow to work on new macs

Closed this issue · 3 comments

Related to #275

3.12 doesn't have ray library

3.11 has ray 2.7.1 and gym and tf 2.14
Need cmake on os in order to install open-spiel 1.
matplotlib 3.8
Only 3 failures!

3.10 has ray 2.7.1 and gym and tf 2.14
Need cmake on os in order to install open-spiel 1.3
matplotlib 3.8
Only 3 failures!

Ray 2.7, 2.8, and 2.9 don't train with the following error:

 File "pyarrow/error.pxi", line 91, in pyarrow.lib.check_status
pyarrow.lib.ArrowInvalid: URI has empty scheme: 'output_dir/abmarl_results/PredatorPreyResources_2024-04-03_07-00'

Ray 2.6.3 with tensorflow 2.16 gives this error:

 File "/usr/WS1/rusu1/v_abmarl_test_rllib/lib/python3.9/site-packages/ray/rllib/models/utils.py", line 121, in get_activation_fn
    return nn.Tanh
AttributeError: '_NNStub' object has no attribute 'Tanh'
Trial status: 1 ERROR

Ray 2.5.1, 2.4.0, 2.3.1 with tensorflow 2.16 fails with this error:

ValueError: Argument `learning_rate` should be float, or an instance of LearningRateSchedule, or a callable (that takes in the current iteration value and returns the corresponding learning rate value). Received instead: learning_rate=<tf.Variable 'predator/lr:0' shape=() dtype=float32, numpy=5e-05>

Successful training of multi-corridor with ray 2.9.3 with the following modifications:

  • On gymnasium-migration branch because ray expects gymnasium interface
  • Use pytorch instead of tensorflow
  • Replace local dir with storage path and update the utils in train and debug to catch this.
  • rllib multiagent wrapper expects *args and **kwargs in reset.
  • simulation must return obs and infos as reset
  • simulation must return terminated vs truncated from step. Truncated should be {"__all__": False}