shubhamagarwal92 / mmd

Licence: other
This repository contains the Pytorch implementation for our SCAI (EMNLP-2018) submission "A Knowledge-Grounded Multimodal Search-Based Conversational Agent"

Programming Languages

python
139335 projects - #7 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to mmd

slp
Utils and modules for Speech Language and Multimodal processing using pytorch and pytorch lightning
Stars: ✭ 17 (-39.29%)
Mutual labels:  multimodal-deep-learning
cats-blender-plugin
😺 A tool designed to shorten steps needed to import and optimize models into VRChat. Compatible models are: MMD, XNALara, Mixamo, DAZ/Poser, Blender Rigify, Sims 2, Motion Builder, 3DS Max and potentially more
Stars: ✭ 1,674 (+5878.57%)
Mutual labels:  mmd
MultiGraphGAN
MultiGraphGAN for predicting multiple target graphs from a source graph using geometric deep learning.
Stars: ✭ 16 (-42.86%)
Mutual labels:  multimodal-deep-learning
visdial-gnn
PyTorch code for Reasoning Visual Dialogs with Structural and Partial Observations
Stars: ✭ 39 (+39.29%)
Mutual labels:  visual-dialog
nanoem
nanoem is an MMD (MikuMikuDance) compatible implementation and its like cross-platform application mainly built for macOS.
Stars: ✭ 136 (+385.71%)
Mutual labels:  mmd
vmd sizing
vmd(MMDモーションデータ)を、指定されたモデルに適用したサイズで再生成します。
Stars: ✭ 33 (+17.86%)
Mutual labels:  mmd
muscaps
Source code for "MusCaps: Generating Captions for Music Audio" (IJCNN 2021)
Stars: ✭ 39 (+39.29%)
Mutual labels:  multimodal-deep-learning
circDeep
End-to-End learning framework for circular RNA classification from other long non-coding RNA using multimodal deep learning
Stars: ✭ 21 (-25%)
Mutual labels:  multimodal-deep-learning
VMD-Lifting
VMD-Lifting is a fork of 'Lifting from the Deep' that outputs estimated 3D pose data to a VMD file
Stars: ✭ 31 (+10.71%)
Mutual labels:  mmd
MSAF
Offical implementation of paper "MSAF: Multimodal Split Attention Fusion"
Stars: ✭ 47 (+67.86%)
Mutual labels:  multimodal-deep-learning
dan-visdial
✨ Official PyTorch Implementation for EMNLP'19 "Dual Attention Networks for Visual Reference Resolution in Visual Dialog"
Stars: ✭ 38 (+35.71%)
Mutual labels:  visual-dialog
MMDUtility
MMD上で動く便利プラグインです。
Stars: ✭ 18 (-35.71%)
Mutual labels:  mmd
BBFN
This repository contains the implementation of the paper -- Bi-Bimodal Modality Fusion for Correlation-Controlled Multimodal Sentiment Analysis
Stars: ✭ 42 (+50%)
Mutual labels:  multimodal-deep-learning
visdial
Visual Dialog: Light-weight Transformer for Many Inputs (ECCV 2020)
Stars: ✭ 27 (-3.57%)
Mutual labels:  visual-dialog
esp32 mmd
esp32でmmd
Stars: ✭ 93 (+232.14%)
Mutual labels:  mmd
scarches
Reference mapping for single-cell genomics
Stars: ✭ 175 (+525%)
Mutual labels:  multimodal-deep-learning
C4D MMD Tool
A plugin for Cinema 4D written in C++ is used to import MikuMikuDance data into Cinema 4D.
Stars: ✭ 52 (+85.71%)
Mutual labels:  mmd
Social-IQ
[CVPR 2019 Oral] Social-IQ: A Question Answering Benchmark for Artificial Social Intelligence
Stars: ✭ 37 (+32.14%)
Mutual labels:  multimodal-deep-learning
MMD-GAN
Improving MMD-GAN training with repulsive loss function
Stars: ✭ 82 (+192.86%)
Mutual labels:  mmd
trVAE
Conditional out-of-distribution prediction
Stars: ✭ 47 (+67.86%)
Mutual labels:  mmd

mmd

This repository contains the Pytorch implementation used for our submission

Install

We used Python 2.7 and Pytorch 0.3 (0.3.1.post2) for our implementation.

We strongly encourage to use conda or virtual environment.

The repo provides both yaml and requirements (use either of the file exported through conda/pip) to create the conda env.

conda create -n mmd python=2
source activate mmd
pip install -r requirements.txt

or

conda env create -n mmd -f mmd.yml

Data

Download the data set from the link provided by Shah et al. (More information provided by the authors in their webpage and repo). Extract it in data folder

Pre-processing

Run the bash scripts in data_processing folder to convert from json transcripts to the actual data for the model. Running as bash dialogue_data.sh will call the python files in the same folder. Please manipulate the file paths accordingly in the shell script. Run the other shell scripts to extract KB related data for the model.

Alternatively you can also download the data for context of 2 and 5 (as well as pickled Shah et al. data) that we used for training from this link.

Update: we are also providing the raw catalog, chat transcripts and metadata provided by Shah et al. here All copyrights regarding the catalog and chat transcripts rests with them. Please contact them for further information.

Training

Run bash train_and_translate.sh for training as well as generating on the test set. This script at the end also computes the final metrics on the test set.

Structure:

train_and_translate.sh --> train.sh --> train.py --> modules/models.py
train_and_translate.sh --> translate.sh --> translate.py --> modules/models.py
train_and_translate.sh --> evaluation/nlg_eval.sh --> nlg_eval.py

This structure allows us to enter file paths only once while training and evaluating. Follow the steps on the screen to provide different parameters. My suggestion is to use Pycharm to better understand the structure and modularity.

Tune IS_TRAIN parameter if you have actually trained the model and want to just generate on final test set.

Hyperparameter tuning can be done by creating different config versions in config folder. Sample config versions are provided for reference.

Metrics

For evaluation, we used the scripts provided by nlg-eval. (Sharma et al.)

In particular, we used their functional api for getting evaluation metrics. Install the dependencies in the same or different conda environment.

nlg_eval.sh or compute_metrics.sh both bash script can be called depending upon the use case. See the structure above. nlg_eval.py is the main file using the funcitonal api.

Citation

If you use this work, please cite it as

@inproceedings{agarwal2018improving,
  title={Improving Context Modelling in Multimodal Dialogue Generation},
  author={Agarwal, Shubham and Du{\v{s}}ek, Ond{\v{r}}ej and Konstas, Ioannis and Rieser, Verena},
  booktitle={Proceedings of the 11th International Conference on Natural Language Generation},
  pages={129--134},
  year={2018}
}

@inproceedings{agarwal2018knowledge,
  title={A Knowledge-Grounded Multimodal Search-Based Conversational Agent},
  author={Agarwal, Shubham and Du{\v{s}}ek, Ond{\v{r}}ej and Konstas, Ioannis and Rieser, Verena},
  booktitle={Proceedings of the 2018 EMNLP Workshop SCAI: The 2nd International Workshop on Search-Oriented Conversational AI},
  pages={59--66},
  year={2018}
}

Feel free to fork and contribute to this work. Please raise a PR or any related issues. Will be happy to help. Thanks.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].