├── .gitignore ├── LICENSE ├── README.md ├── configs ├── joint_training_baseline.yml ├── joint_training_ours.yml ├── module_training.yml ├── program_prior.yml ├── question_coding_baseline.yml └── question_coding_ours.yml ├── docs ├── Makefile ├── _static │ ├── custom.css │ └── probnmn_model.jpg ├── _templates │ └── layout.html ├── conf.py ├── index.rst ├── make.bat └── probnmn │ ├── config.rst │ ├── data.datasets.rst │ ├── data.readers.rst │ ├── data.rst │ ├── data.samplers.rst │ ├── evaluators._evaluator.rst │ ├── evaluators.joint_training_evaluator.rst │ ├── evaluators.module_training_evaluator.rst │ ├── evaluators.program_prior_evaluator.rst │ ├── evaluators.question_coding_evaluator.rst │ ├── evaluators.rst │ ├── models.nmn.rst │ ├── models.program_generator.rst │ ├── models.program_prior.rst │ ├── models.question_reconstructor.rst │ ├── models.rst │ ├── modules.elbo.rst │ ├── modules.nmn_modules.rst │ ├── modules.rst │ ├── modules.seq2seq_base.rst │ ├── trainers._trainer.rst │ ├── trainers.joint_training_trainer.rst │ ├── trainers.module_training_trainer.rst │ ├── trainers.program_prior_trainer.rst │ ├── trainers.question_coding_trainer.rst │ ├── trainers.rst │ ├── usage │ ├── evaluation_inference.rst │ ├── setup_dependencies.rst │ └── training.rst │ ├── utils.checkpointing.rst │ ├── utils.metrics.rst │ └── utils.rst ├── probnmn ├── __init__.py ├── config.py ├── data │ ├── __init__.py │ ├── datasets.py │ ├── readers.py │ └── samplers.py ├── evaluators │ ├── __init__.py │ ├── _evaluator.py │ ├── joint_training_evaluator.py │ ├── module_training_evaluator.py │ ├── program_prior_evaluator.py │ └── question_coding_evaluator.py ├── models │ ├── __init__.py │ ├── nmn.py │ ├── program_generator.py │ ├── program_prior.py │ └── question_reconstructor.py ├── modules │ ├── __init__.py │ ├── elbo.py │ ├── nmn_modules.py │ └── seq2seq_base.py ├── trainers │ ├── __init__.py │ ├── _trainer.py │ ├── joint_training_trainer.py │ ├── module_training_trainer.py │ ├── program_prior_trainer.py │ └── question_coding_trainer.py └── utils │ ├── __init__.py │ ├── checkpointing.py │ └── metrics.py ├── requirements.txt ├── scripts ├── evaluate.py ├── inference.py ├── preprocess │ ├── build_vocabulary.py │ ├── extract_features.py │ └── preprocess_questions.py └── train.py └── setup.py /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/README.md -------------------------------------------------------------------------------- /configs/joint_training_baseline.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/configs/joint_training_baseline.yml -------------------------------------------------------------------------------- /configs/joint_training_ours.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/configs/joint_training_ours.yml -------------------------------------------------------------------------------- /configs/module_training.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/configs/module_training.yml -------------------------------------------------------------------------------- /configs/program_prior.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/configs/program_prior.yml -------------------------------------------------------------------------------- /configs/question_coding_baseline.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/configs/question_coding_baseline.yml -------------------------------------------------------------------------------- /configs/question_coding_ours.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/configs/question_coding_ours.yml -------------------------------------------------------------------------------- /docs/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/docs/Makefile -------------------------------------------------------------------------------- /docs/_static/custom.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/docs/_static/custom.css -------------------------------------------------------------------------------- /docs/_static/probnmn_model.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/docs/_static/probnmn_model.jpg -------------------------------------------------------------------------------- /docs/_templates/layout.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/docs/_templates/layout.html -------------------------------------------------------------------------------- /docs/conf.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/docs/conf.py -------------------------------------------------------------------------------- /docs/index.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/docs/index.rst -------------------------------------------------------------------------------- /docs/make.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/docs/make.bat -------------------------------------------------------------------------------- /docs/probnmn/config.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/docs/probnmn/config.rst -------------------------------------------------------------------------------- /docs/probnmn/data.datasets.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/docs/probnmn/data.datasets.rst -------------------------------------------------------------------------------- /docs/probnmn/data.readers.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/docs/probnmn/data.readers.rst -------------------------------------------------------------------------------- /docs/probnmn/data.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/docs/probnmn/data.rst -------------------------------------------------------------------------------- /docs/probnmn/data.samplers.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/docs/probnmn/data.samplers.rst -------------------------------------------------------------------------------- /docs/probnmn/evaluators._evaluator.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/docs/probnmn/evaluators._evaluator.rst -------------------------------------------------------------------------------- /docs/probnmn/evaluators.joint_training_evaluator.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/docs/probnmn/evaluators.joint_training_evaluator.rst -------------------------------------------------------------------------------- /docs/probnmn/evaluators.module_training_evaluator.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/docs/probnmn/evaluators.module_training_evaluator.rst -------------------------------------------------------------------------------- /docs/probnmn/evaluators.program_prior_evaluator.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/docs/probnmn/evaluators.program_prior_evaluator.rst -------------------------------------------------------------------------------- /docs/probnmn/evaluators.question_coding_evaluator.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/docs/probnmn/evaluators.question_coding_evaluator.rst -------------------------------------------------------------------------------- /docs/probnmn/evaluators.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/docs/probnmn/evaluators.rst -------------------------------------------------------------------------------- /docs/probnmn/models.nmn.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/docs/probnmn/models.nmn.rst -------------------------------------------------------------------------------- /docs/probnmn/models.program_generator.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/docs/probnmn/models.program_generator.rst -------------------------------------------------------------------------------- /docs/probnmn/models.program_prior.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/docs/probnmn/models.program_prior.rst -------------------------------------------------------------------------------- /docs/probnmn/models.question_reconstructor.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/docs/probnmn/models.question_reconstructor.rst -------------------------------------------------------------------------------- /docs/probnmn/models.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/docs/probnmn/models.rst -------------------------------------------------------------------------------- /docs/probnmn/modules.elbo.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/docs/probnmn/modules.elbo.rst -------------------------------------------------------------------------------- /docs/probnmn/modules.nmn_modules.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/docs/probnmn/modules.nmn_modules.rst -------------------------------------------------------------------------------- /docs/probnmn/modules.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/docs/probnmn/modules.rst -------------------------------------------------------------------------------- /docs/probnmn/modules.seq2seq_base.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/docs/probnmn/modules.seq2seq_base.rst -------------------------------------------------------------------------------- /docs/probnmn/trainers._trainer.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/docs/probnmn/trainers._trainer.rst -------------------------------------------------------------------------------- /docs/probnmn/trainers.joint_training_trainer.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/docs/probnmn/trainers.joint_training_trainer.rst -------------------------------------------------------------------------------- /docs/probnmn/trainers.module_training_trainer.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/docs/probnmn/trainers.module_training_trainer.rst -------------------------------------------------------------------------------- /docs/probnmn/trainers.program_prior_trainer.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/docs/probnmn/trainers.program_prior_trainer.rst -------------------------------------------------------------------------------- /docs/probnmn/trainers.question_coding_trainer.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/docs/probnmn/trainers.question_coding_trainer.rst -------------------------------------------------------------------------------- /docs/probnmn/trainers.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/docs/probnmn/trainers.rst -------------------------------------------------------------------------------- /docs/probnmn/usage/evaluation_inference.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/docs/probnmn/usage/evaluation_inference.rst -------------------------------------------------------------------------------- /docs/probnmn/usage/setup_dependencies.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/docs/probnmn/usage/setup_dependencies.rst -------------------------------------------------------------------------------- /docs/probnmn/usage/training.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/docs/probnmn/usage/training.rst -------------------------------------------------------------------------------- /docs/probnmn/utils.checkpointing.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/docs/probnmn/utils.checkpointing.rst -------------------------------------------------------------------------------- /docs/probnmn/utils.metrics.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/docs/probnmn/utils.metrics.rst -------------------------------------------------------------------------------- /docs/probnmn/utils.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/docs/probnmn/utils.rst -------------------------------------------------------------------------------- /probnmn/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /probnmn/config.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/probnmn/config.py -------------------------------------------------------------------------------- /probnmn/data/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/probnmn/data/__init__.py -------------------------------------------------------------------------------- /probnmn/data/datasets.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/probnmn/data/datasets.py -------------------------------------------------------------------------------- /probnmn/data/readers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/probnmn/data/readers.py -------------------------------------------------------------------------------- /probnmn/data/samplers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/probnmn/data/samplers.py -------------------------------------------------------------------------------- /probnmn/evaluators/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/probnmn/evaluators/__init__.py -------------------------------------------------------------------------------- /probnmn/evaluators/_evaluator.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/probnmn/evaluators/_evaluator.py -------------------------------------------------------------------------------- /probnmn/evaluators/joint_training_evaluator.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/probnmn/evaluators/joint_training_evaluator.py -------------------------------------------------------------------------------- /probnmn/evaluators/module_training_evaluator.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/probnmn/evaluators/module_training_evaluator.py -------------------------------------------------------------------------------- /probnmn/evaluators/program_prior_evaluator.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/probnmn/evaluators/program_prior_evaluator.py -------------------------------------------------------------------------------- /probnmn/evaluators/question_coding_evaluator.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/probnmn/evaluators/question_coding_evaluator.py -------------------------------------------------------------------------------- /probnmn/models/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/probnmn/models/__init__.py -------------------------------------------------------------------------------- /probnmn/models/nmn.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/probnmn/models/nmn.py -------------------------------------------------------------------------------- /probnmn/models/program_generator.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/probnmn/models/program_generator.py -------------------------------------------------------------------------------- /probnmn/models/program_prior.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/probnmn/models/program_prior.py -------------------------------------------------------------------------------- /probnmn/models/question_reconstructor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/probnmn/models/question_reconstructor.py -------------------------------------------------------------------------------- /probnmn/modules/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /probnmn/modules/elbo.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/probnmn/modules/elbo.py -------------------------------------------------------------------------------- /probnmn/modules/nmn_modules.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/probnmn/modules/nmn_modules.py -------------------------------------------------------------------------------- /probnmn/modules/seq2seq_base.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/probnmn/modules/seq2seq_base.py -------------------------------------------------------------------------------- /probnmn/trainers/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/probnmn/trainers/__init__.py -------------------------------------------------------------------------------- /probnmn/trainers/_trainer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/probnmn/trainers/_trainer.py -------------------------------------------------------------------------------- /probnmn/trainers/joint_training_trainer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/probnmn/trainers/joint_training_trainer.py -------------------------------------------------------------------------------- /probnmn/trainers/module_training_trainer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/probnmn/trainers/module_training_trainer.py -------------------------------------------------------------------------------- /probnmn/trainers/program_prior_trainer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/probnmn/trainers/program_prior_trainer.py -------------------------------------------------------------------------------- /probnmn/trainers/question_coding_trainer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/probnmn/trainers/question_coding_trainer.py -------------------------------------------------------------------------------- /probnmn/utils/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /probnmn/utils/checkpointing.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/probnmn/utils/checkpointing.py -------------------------------------------------------------------------------- /probnmn/utils/metrics.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/probnmn/utils/metrics.py -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/requirements.txt -------------------------------------------------------------------------------- /scripts/evaluate.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/scripts/evaluate.py -------------------------------------------------------------------------------- /scripts/inference.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/scripts/inference.py -------------------------------------------------------------------------------- /scripts/preprocess/build_vocabulary.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/scripts/preprocess/build_vocabulary.py -------------------------------------------------------------------------------- /scripts/preprocess/extract_features.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/scripts/preprocess/extract_features.py -------------------------------------------------------------------------------- /scripts/preprocess/preprocess_questions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/scripts/preprocess/preprocess_questions.py -------------------------------------------------------------------------------- /scripts/train.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/scripts/train.py -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kdexd/probnmn-clevr/HEAD/setup.py --------------------------------------------------------------------------------