make code public
This commit is contained in:
parent
c949e1c63c
commit
828234262a
1 changed files with 29 additions and 12 deletions
41
README.md
41
README.md
|
@ -40,14 +40,15 @@ of the art —while only requiring a fraction of training data. Moreover, we dem
|
||||||
|
|
||||||
## Scene Data
|
## Scene Data
|
||||||
|
|
||||||
We used CLEVR and Minecraft images in this project. The raw images have a large footprint and we won't upload them. However, we provide their json file as well as their derendedred versions. They can be found in :
|
We used CLEVR and Minecraft images in this project. The raw images have a large footprint and we won't upload them. However, we provide their json file as well as their derendedred versions:
|
||||||
|
|
||||||
- ``data/scenes/raw``
|
- Original clevr-dialog training and validation raw scenes: [⬇](https://dl.fbaipublicfiles.com/clevr/CLEVR_v1.0.zip)
|
||||||
- ``data/scenes/derendered``
|
- Raw scenes we used in our experiments: [⬇](https://1drv.ms/u/s!AlGoPLjLV-BOh1fdB30GscvRnFAt?e=Xtorzr)
|
||||||
|
- All derendered scenes: [⬇](https://1drv.ms/u/s!AlGoPLjLV-BOh0d00ynwnXQO14da?e=Ub6k33)
|
||||||
|
|
||||||
## Dialog Data
|
## Dialog Data
|
||||||
|
|
||||||
The dialog data we used can be found in ``data/dialogs``.
|
The dialog data we used can be found here [⬇](https://1drv.ms/u/s!AlGoPLjLV-BOhzaYs3s2qSLbGTL_?e=oGGrxr)
|
||||||
You can also create your own data using the ``generate_dataset.py`` script.
|
You can also create your own data using the ``generate_dataset.py`` script.
|
||||||
|
|
||||||
# Preprocessing
|
# Preprocessing
|
||||||
|
@ -60,15 +61,21 @@ The derendered scenes do not need any further preprocessing and can be diretly u
|
||||||
|
|
||||||
To preprocess the dialogs, follow these steps:
|
To preprocess the dialogs, follow these steps:
|
||||||
|
|
||||||
- ```cd preprocess_dialogs```
|
```bash
|
||||||
|
cd preprocess_dialogs
|
||||||
|
```
|
||||||
|
|
||||||
For the stack encoder, execute
|
For the stack encoder, execute
|
||||||
|
|
||||||
- ```python preprocess.py --input_dialogs_json <path_to_raw_dialog_file> --input_vocab_json '' --output_vocab_json <path_where_to_save_the_vocab> --output_h5_file <path_of_the_output_file> --split <train/val/test> --mode stack```
|
```python
|
||||||
|
python preprocess.py --input_dialogs_json <path_to_raw_dialog_file> --input_vocab_json '' --output_vocab_json <path_where_to_save_the_vocab> --output_h5_file <path_of_the_output_file> --split <train/val/test> --mode stack
|
||||||
|
```
|
||||||
|
|
||||||
For the concat encoder, execute
|
For the concat encoder, execute
|
||||||
|
|
||||||
- ```python preprocess.py --input_dialogs_json <path_to_raw_dialog_file> --input_vocab_json '' --output_vocab_json <path_where_to_save_the_vocab> --output_h5_file <path_of_the_output_file> --split <train/val/test> --mode concat```
|
```python
|
||||||
|
python preprocess.py --input_dialogs_json <path_to_raw_dialog_file> --input_vocab_json '' --output_vocab_json <path_where_to_save_the_vocab> --output_h5_file <path_of_the_output_file> --split <train/val/test> --mode concat
|
||||||
|
```
|
||||||
|
|
||||||
# Training
|
# Training
|
||||||
|
|
||||||
|
@ -80,17 +87,23 @@ First, change directory
|
||||||
|
|
||||||
To train the caption parser, execute
|
To train the caption parser, execute
|
||||||
|
|
||||||
- ```python train_caption_parser.py --mode train --run_dir <experiment_dir> --res_path <path_to_store_results> --dataPathTr <path_to_preprocessed_training_data> --dataPathVal <path_to_preprocessed_val_data> --dataPathTest <path_to_preprocessed_test_data> --vocab_path <path_where_to_save_the_vocab>```
|
```python
|
||||||
|
python train_caption_parser.py --mode train --run_dir <experiment_dir> --res_path <path_to_store_results> --dataPathTr <path_to_preprocessed_training_data> --dataPathVal <path_to_preprocessed_val_data> --dataPathTest <path_to_preprocessed_test_data> --vocab_path <path_where_to_save_the_vocab>
|
||||||
|
```
|
||||||
|
|
||||||
## Question Program Parser
|
## Question Program Parser
|
||||||
|
|
||||||
To train the question program parser with the stack encoder, execute
|
To train the question program parser with the stack encoder, execute
|
||||||
|
|
||||||
- ```python train_question_parser.py --mode train --run_dir <experiment_dir> --text_log_dir <log_dir_path> --dataPathTr <path_to_preprocessed_training_data> --dataPathVal <path_to_preprocessed_val_data> --dataPathTest <path_to_preprocessed_test_data> --scenePath <path_to_derendered_scenes> --vocab_path <path_where_to_save_the_vocab> --encoder_type 2```
|
```python
|
||||||
|
python train_question_parser.py --mode train --run_dir <experiment_dir> --text_log_dir <log_dir_path> --dataPathTr <path_to_preprocessed_training_data> --dataPathVal <path_to_preprocessed_val_data> --dataPathTest <path_to_preprocessed_test_data> --scenePath <path_to_derendered_scenes> --vocab_path <path_where_to_save_the_vocab> --encoder_type 2
|
||||||
|
```
|
||||||
|
|
||||||
To train the question program parser with the concat encoder, execute
|
To train the question program parser with the concat encoder, execute
|
||||||
|
|
||||||
- ```python train_question_parser.py --mode train --run_dir <experiment_dir> --text_log_dir <log_dir_path> --dataPathTr <path_to_preprocessed_training_data> --dataPathVal <path_to_preprocessed_val_data> --dataPathTest <path_to_preprocessed_test_data> --scenePath <path_to_derendered_scenes> --vocab_path <path_where_to_save_the_vocab> --encoder_type 1```
|
```python
|
||||||
|
python train_question_parser.py --mode train --run_dir <experiment_dir> --text_log_dir <log_dir_path> --dataPathTr <path_to_preprocessed_training_data> --dataPathVal <path_to_preprocessed_val_data> --dataPathTest <path_to_preprocessed_test_data> --scenePath <path_to_derendered_scenes> --vocab_path <path_where_to_save_the_vocab> --encoder_type 1
|
||||||
|
```
|
||||||
|
|
||||||
## Baselines
|
## Baselines
|
||||||
|
|
||||||
|
@ -102,11 +115,15 @@ To train the question program parser with the concat encoder, execute
|
||||||
|
|
||||||
To evaluate using the *Hist+GT* scheme, execute
|
To evaluate using the *Hist+GT* scheme, execute
|
||||||
|
|
||||||
- ```python train_question_parser.py --mode test_with_gt --run_dir <experiment_dir> --text_log_dir <log_dir_path> --dataPathTr <path_to_preprocessed_training_data> --dataPathVal <path_to_preprocessed_val_data> --dataPathTest <path_to_preprocessed_test_data> --scenePath <path_to_derendered_scenes> --vocab_path <path_where_to_save_the_vocab> --encoder_type <1/2> --questionNetPath <path_to_pretrained_question_parser> --captionNetPath <path_to_pretrained_caption_parser> --dialogLen <total_number_of_dialog_rounds> --last_n_rounds <number_of_last_rounds_to_considered_in_history>```
|
```python
|
||||||
|
python train_question_parser.py --mode test_with_gt --run_dir <experiment_dir> --text_log_dir <log_dir_path> --dataPathTr <path_to_preprocessed_training_data> --dataPathVal <path_to_preprocessed_val_data> --dataPathTest <path_to_preprocessed_test_data> --scenePath <path_to_derendered_scenes> --vocab_path <path_where_to_save_the_vocab> --encoder_type <1/2> --questionNetPath <path_to_pretrained_question_parser> --captionNetPath <path_to_pretrained_caption_parser> --dialogLen <total_number_of_dialog_rounds> --last_n_rounds <number_of_last_rounds_to_considered_in_history>
|
||||||
|
```
|
||||||
|
|
||||||
To evaluate using the *Hist+Pred* scheme, execute
|
To evaluate using the *Hist+Pred* scheme, execute
|
||||||
|
|
||||||
- ```python train_question_parser.py --mode test_with_pred --run_dir <experiment_dir> --text_log_dir <log_dir_path> --dataPathTr <path_to_preprocessed_training_data> --dataPathVal <path_to_preprocessed_val_data> --dataPathTest <path_to_preprocessed_test_data> --scenePath <path_to_derendered_scenes> --vocab_path <path_where_to_save_the_vocab> --encoder_type <1/2> --questionNetPath <path_to_pretrained_question_parser> --captionNetPath <path_to_pretrained_caption_parser> --dialogLen <total_number_of_dialog_rounds> --last_n_rounds <number_of_last_rounds_to_considered_in_history>```
|
```python
|
||||||
|
python train_question_parser.py --mode test_with_pred --run_dir <experiment_dir> --text_log_dir <log_dir_path> --dataPathTr <path_to_preprocessed_training_data> --dataPathVal <path_to_preprocessed_val_data> --dataPathTest <path_to_preprocessed_test_data> --scenePath <path_to_derendered_scenes> --vocab_path <path_where_to_save_the_vocab> --encoder_type <1/2> --questionNetPath <path_to_pretrained_question_parser> --captionNetPath <path_to_pretrained_caption_parser> --dialogLen <total_number_of_dialog_rounds> --last_n_rounds <number_of_last_rounds_to_considered_in_history>
|
||||||
|
```
|
||||||
|
|
||||||
# Results
|
# Results
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue