Gather the most resources and survive the night!
https://www.kaggle.com/c/lux-ai-2021
I'm following CRISP-DM 1.0 methodology for the reports.
I have skipped Evaluation and Deployment steps because they are not usually done on Kaggle.
- Business understanding
- Data understanding
- Data preparation
- Modeling
- Solution summary
- Winning model documentation
|_ luxai: library with code for the challenge
|_ forum: all the scripts and notebooks taken from the forum
|_ notebooks: jupyter notebooks made during the challenge. They start by number for easier sorting.
|_ reports: documents made during the challenge according to CRISP-DM methodology
|_ tests: folder with tests for the library
|_ data: folder with light data from teh challenge
|_ rules: the official rules of the challenge
|_ agents: folder with agents for the challenge
|_ scripts: scripts for training agents, playing the game...
My PC is described here. It has two RTX3090 GPUs and the rest of the hardware can be seen below.
I did this with this kaggle public notebook. It simply ranks the submitted agents by score and saves a csv file with the agents exceeding a threshold score. The exact csv file used on the final train can be found here.
To download the matches I use Google colab that allows to do all the job online and later I simply have to download a zip file with all the matches.
We have to split the dataset between train and validation. For validation 10% of the matches from the best leaderboard agent were used.
Please replace TRAIN_FOLDER_PATH with the folder on your computer. Also edit the template.yml file to use paths on your computer.
python scripts/train_imitation_learning/create_multiagent_imitation_learning_training.py scripts/final_solution_files/template.yml TRAIN_FOLDER_PATH 0 scripts/final_solution_files/agent_selection_20211201.csv 1700
Run the following command and wait for around one day.
python scripts/train_imitation_learning/train_with_generators.py TRAIN_FOLDER_PATH/train_conf.yml
Creating an agent is very simple, just run this command giving the output folder for the agent and the path of the trained model.
python scripts/create_cunet_agent/create_cunet_agent.py AGENT_PATH TRAIN_FOLDER_PATH/best_val_loss_model.h5
Keras Conditioned Unet is used and should be downloaded. Then the
environment variable KERAS_CUNET_PATH
should be set to the downloaded path.