Running an Algorithm
All algorithms of CREW are under CREW/crew-algorithms/crew_algorithms/
. We provide implementation of state of the art human-guided RL algorithms and baseline RL algorithms. To run launch a training session, first configure the training settings, including environment, number of AI agents and hyperparameters. Then by following the commands in this page, python will automatically start a unity server instance and initialize AI agents.
Configure training files
To make things easy, we use Hydra for configurating training sessions. The default configuration for environments are defined in CREW/crew-algorithms/crew_algorithms/envs/configs.py
, where you will find game file path, number of agents and other environment specific parameters.
The default configuration for algorithm specific parameters are under CREW/crew-algorithms/crew_algorithms/conf/
.
Run specific parameters can be configured at the top of each algorithms' __main__.py
file, under the Config
class.
To enable wandb logging, modify the entity
and project
arguments in WandbConfig
. To customize the data to be logged, follow their documentation.
You can disable wandb logging by adding WANDB_MODE=disabled
before the python command.
Launch a training session
First enter the crew-algorithms
directory:
Then simply run the command python crew-algorithms/crew_algorithms/{ALGORITHM}
, where {ALGORITHM}
is the chosen algorithm. For instance:
You can always overwrite the default configurations by adding arguments in the command line:
Controlling training time
The decision frequency of all CREW games are set to 2Hz. Parameter collector.frames_per_batch
determines how many time steps of data is collected every batch. Parameter train_batches
determines how many batches of environment expericence to train on. So the total training time of a session can be contolled by:
0.5s * collector.frames_per_batch * train_batches