EnigmaLabsAI commited on
Commit
6ce5cfd
Β·
verified Β·
1 Parent(s): 8e0ecb9

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +113 -3
README.md CHANGED
@@ -1,3 +1,113 @@
1
- ---
2
- license: mit
3
- ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: mit
3
+ ---
4
+
5
+ # Multiverse: The First AI Multiplayer World Model
6
+
7
+ πŸ–₯️ [GitHub](https://github.com/EnigmaLabsAI/multiverse) 🌐 [Enigma-AI website](https://enigma-labs.io/) - πŸ“š[Technical Blog](https://enigma-labs.io/blog) - [πŸ€— Model on Huggingface](https://huggingface.co/Enigma-AI/multiverse) - [πŸ€— Datasets on Huggingface](https://huggingface.co/datasets/Enigma-AI/multiplayer-racing-low-res) - 𝕏 [Multiverse Tweet]()
8
+
9
+
10
+ ---
11
+
12
+ ## Installation
13
+ ```bash
14
+ git clone https://github.com/EnigmaLabsAI/multiverse
15
+ cd multiplayer-ai
16
+ pip install -r requirements.txt
17
+ ```
18
+
19
+ ### Running the model
20
+
21
+ ```bash
22
+ python src/play.py --compile
23
+ ```
24
+
25
+ When running this command, you will be prompted with the controls. Press `enter` to start.
26
+
27
+ Then the game will be start:
28
+ * To control the silver car at the top screen use the arrow keys.
29
+ * To control the blue car at the bottom use the WASD keys.
30
+
31
+ ---
32
+
33
+
34
+ ## Training
35
+
36
+ Multiverse comprised two models:
37
+ * Denoiser - a world model that simulates a game
38
+ * Upsampler - a model which takes the frames from the denoiser and increases their resolution
39
+
40
+ ### Denoiser training
41
+
42
+ #### 1. Download the dataset
43
+ Download the Denoiser's training set from [πŸ€— Huggingface](https://huggingface.co/datasets/Enigma-AI/multiplayer-racing-low-res).
44
+
45
+ #### 2. Process data for training
46
+ Run the command:
47
+ ```bash
48
+ python src/process_denoiser_files.py <folder_with_dataset_files_from_step_one> <folder_to_store_processed_data>
49
+ ```
50
+
51
+ #### 3. Edit training configuration
52
+
53
+ Edit [config/env/racing.yaml](config/env/racing.yaml) and set:
54
+ - `path_data_low_res` to `<folder_to_store_processed_data>/low_res`
55
+ - `path_data_full_res` to `<folder_to_store_processed_data>/full_res`
56
+
57
+ Edit [config/training.yaml](config/trainer.yaml) to train the `denoiser`:
58
+ ```yaml
59
+ train_model: denoiser
60
+ ```
61
+
62
+ #### 4. Launch training run
63
+
64
+ You can then launch a training run with `python src/main.py`.
65
+
66
+
67
+ ### Upsampler training
68
+
69
+ #### 1. Download the dataset
70
+ Download the Upsampler's training set from [πŸ€— Huggingface](https://huggingface.co/datasets/Enigma-AI/multiplayer-racing-full-res).
71
+
72
+ #### 2. Process data for training
73
+ Run the command:
74
+ ```bash
75
+ python src/process_upsampler_files.py <folder_with_dataset_files_from_step_one> <folder_to_store_processed_data>
76
+ ```
77
+
78
+ #### 3. Edit training configuration
79
+
80
+ Edit [config/env/racing.yaml](config/env/racing.yaml) and set:
81
+ - `path_data_low_res` to `<folder_to_store_processed_data>/low_res`
82
+ - `path_data_full_res` to `<folder_to_store_processed_data>/full_res`
83
+
84
+ Edit [config/training.yaml](config/trainer.yaml) to train the `denoiser`:
85
+ ```yaml
86
+ train_model: upsampler
87
+ ```
88
+
89
+ #### 4. Launch training run
90
+
91
+ You can then launch a training run with `python src/main.py`.
92
+
93
+
94
+ ---
95
+
96
+ ## Datasets
97
+
98
+ 1. We've collected over 4 hours of multiplayer (1v1) footage from Gran Turismo 4 at a resolution of 48x64 (per players): [πŸ€— Huggingface link](https://huggingface.co/datasets/Enigma-AI/multiplayer-racing-low-res).
99
+
100
+ 2. A sparse sampling of full resolution, cropped frames, are availabe in order to train the upsampler at a resolution of 350x530: [πŸ€— Huggingface link](https://huggingface.co/datasets/Enigma-AI/multiplayer-racing-full-res).
101
+
102
+ The datasets contain a variety of situations: acceleration, braking, overtakes, crashes, and expert driving for both players.
103
+ You can read about the data collection mechanism [here](https://enigma-labs.io/blog)
104
+
105
+ Note: The full resolution dataset is only for upsampler training and is not fit for world model training.
106
+
107
+ ---
108
+
109
+ ## Outside resources
110
+
111
+ - DIAMOND - https://github.com/eloialonso/diamond
112
+ - AI-MarioKart64 - https://github.com/Dere-Wah/AI-MarioKart64
113
+