All Projects → chingyaoc → Vqa Tensorflow

chingyaoc / Vqa Tensorflow

Licence: mit
Tensorflow Implementation of Deeper LSTM+ normalized CNN for Visual Question Answering

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Vqa Tensorflow

VideoNavQA
An alternative EQA paradigm and informative benchmark + models (BMVC 2019, ViGIL 2019 spotlight)
Stars: ✭ 22 (-77.55%)
Mutual labels:  vqa, question-answering
MICCAI21 MMQ
Multiple Meta-model Quantifying for Medical Visual Question Answering
Stars: ✭ 16 (-83.67%)
Mutual labels:  vqa, question-answering
hcrn-videoqa
Implementation for the paper "Hierarchical Conditional Relation Networks for Video Question Answering" (Le et al., CVPR 2020, Oral)
Stars: ✭ 111 (+13.27%)
Mutual labels:  vqa, question-answering
Mac Network
Implementation for the paper "Compositional Attention Networks for Machine Reasoning" (Hudson and Manning, ICLR 2018)
Stars: ✭ 444 (+353.06%)
Mutual labels:  vqa, question-answering
DVQA dataset
DVQA Dataset: A Bar chart question answering dataset presented at CVPR 2018
Stars: ✭ 20 (-79.59%)
Mutual labels:  vqa, question-answering
Mullowbivqa
Hadamard Product for Low-rank Bilinear Pooling
Stars: ✭ 57 (-41.84%)
Mutual labels:  vqa, question-answering
Bert Vietnamese Question Answering
Vietnamese question answering system with BERT
Stars: ✭ 57 (-41.84%)
Mutual labels:  question-answering
Soqal
Arabic Open Domain Question Answering System using Neural Reading Comprehension
Stars: ✭ 72 (-26.53%)
Mutual labels:  question-answering
Conditional Batch Norm
Pytorch implementation of NIPS 2017 paper "Modulating early visual processing by language"
Stars: ✭ 51 (-47.96%)
Mutual labels:  vqa
Shift Ctrl F
🔎 Search the information available on a webpage using natural language instead of an exact string match.
Stars: ✭ 1,023 (+943.88%)
Mutual labels:  question-answering
Sentence Similarity
PyTorch implementations of various deep learning models for paraphrase detection, semantic similarity, and textual entailment
Stars: ✭ 96 (-2.04%)
Mutual labels:  question-answering
Simple Qa Emnlp 2018
Code for my EMNLP 2018 paper "SimpleQuestions Nearly Solved: A New Upperbound and Baseline Approach"
Stars: ✭ 87 (-11.22%)
Mutual labels:  question-answering
Wsdm2018 hyperqa
Reference Implementation for WSDM 2018 Paper "Hyperbolic Representation Learning for Fast and Efficient Neural Question Answering"
Stars: ✭ 66 (-32.65%)
Mutual labels:  question-answering
Vqa
CloudCV Visual Question Answering Demo
Stars: ✭ 57 (-41.84%)
Mutual labels:  vqa
Chinesenlp
Datasets, SOTA results of every fields of Chinese NLP
Stars: ✭ 1,206 (+1130.61%)
Mutual labels:  question-answering
Logic guided qa
The official implementation of ACL 2020, "Logic-Guided Data Augmentation and Regularization for Consistent Question Answering".
Stars: ✭ 55 (-43.88%)
Mutual labels:  question-answering
Neural kbqa
Knowledge Base Question Answering using memory networks
Stars: ✭ 87 (-11.22%)
Mutual labels:  question-answering
Cdqa Annotator
⛔ [NOT MAINTAINED] A web-based annotator for closed-domain question answering datasets with SQuAD format.
Stars: ✭ 48 (-51.02%)
Mutual labels:  question-answering
Medical Question Answer Data
Medical question and answer dataset gathered from the web.
Stars: ✭ 65 (-33.67%)
Mutual labels:  question-answering
Amas
Awesome & Marvelous Amas
Stars: ✭ 1,273 (+1198.98%)
Mutual labels:  question-answering

Tensorflow Implementation of Deeper LSTM+ normalized CNN for Visual Question Answering

Provide tensorflow edition for VQA_LSTM_CNN, training a deeper LSTM and normalized CNN Visual Question Answering model. The current code can reach same accuracy with original torch code on Open-Ended (use COCO train set to train and validation set to evaluation). You can check original torch edtion from VQA_LSTM_CNN for more details.

Requirements

This code is written in Python and requires Tensorflow. The preprocssinng code is in Python.

Prepare Data (from VQA_LSTM_CNN)

(Here's a copy from the original readme.md) The first thing you need to do is to download the data and do some preprocessing. Head over to the data/ folder and run

$ python vqa_preprocessing.py --download True --split 1

--download Ture means you choose to download the VQA data from the VQA website and --split 1 means you use COCO train set to train and validation set to evaluation. --split 2 means you use COCO train+val set to train and test set to evaluate. After this step, it will generate two files under the data folder. vqa_raw_train.json and vqa_raw_test.json

Once you have these, we are ready to get the question and image features. Back to the main folder, run

$ python prepro.py --input_train_json data/vqa_raw_train.json --input_test_json data/vqa_raw_test.json --num_ans 1000

to get the question features. --num_ans specifiy how many top answers you want to use during training. You will also see some question and answer statistics in the terminal output. This will generate two files in your main folder, data_prepro.h5 and data_prepro.json. To get the image features, run

$ th prepro_img.lua -input_json data_prepro.json -image_root path_to_image_root -cnn_proto path_to_cnn_prototxt -cnn_model path to cnn_model

Here we use VGG_ILSVRC_19_layers model. After this step, you can get the image feature data_img.h5. We have prepared everything and ready to launch training. You can simply run

Training and Testing

To train on the prepared dataset, comment out test(). We simply run the program with python.

$ python model_VQA.py

with the default parameter, this will take several hours and will generate the model under model_save To test, comment out train() and run the same program, this will generate data.json We finally run a simple program to correct the generated json files.

$ python s2i.py

This will generate the result OpenEnded_mscoco_lstm_results.json. To evaluate the accuracy of generate result, you need to download the VQA evaluation tools.

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].