All Projects → ajamjoom → Image Captions

ajamjoom / Image Captions

BERT + Image Captioning

Projects that are alternatives of or similar to Image Captions

Airflow project
scaffold of Apache Airflow executing Docker containers
Stars: ✭ 84 (+6.33%)
Mutual labels:  jupyter-notebook
Notebooks
📓 A growing collection of Jupyter Notebooks written in Python, OCaml and Julia for science examples, algorithms, visualizations etc
Stars: ✭ 84 (+6.33%)
Mutual labels:  jupyter-notebook
Pythonicperambulations
Old source for jakevdp.github.io. New source at http://github.com/jakevdp/jakevdp.github.io-source
Stars: ✭ 84 (+6.33%)
Mutual labels:  jupyter-notebook
Cytokit
Microscopy Image Cytometry Toolkit
Stars: ✭ 84 (+6.33%)
Mutual labels:  jupyter-notebook
Fccss
Computer Science SCHOOL resources
Stars: ✭ 84 (+6.33%)
Mutual labels:  jupyter-notebook
Seaborn
Seaborn 学习笔记
Stars: ✭ 84 (+6.33%)
Mutual labels:  jupyter-notebook
Tensor Learning
Python codes for low-rank tensor factorization, tensor completion, and tensor regression techniques.
Stars: ✭ 83 (+5.06%)
Mutual labels:  jupyter-notebook
Jupytemplate
Templates for jupyter notebooks
Stars: ✭ 85 (+7.59%)
Mutual labels:  jupyter-notebook
Pancancer
Building classifiers using cancer transcriptomes across 33 different cancer-types
Stars: ✭ 84 (+6.33%)
Mutual labels:  jupyter-notebook
2014 Summer Travels
Python-based spatial data analysis and visualization of the GPS location data from my 2014 summer travels.
Stars: ✭ 84 (+6.33%)
Mutual labels:  jupyter-notebook
Pulmonary Nodules Segmentation
Tianchi medical AI competition [Season 1]: Lung nodules image segmentation of U-Net. U-Net训练基于卷积神经网络的肺结节分割器
Stars: ✭ 84 (+6.33%)
Mutual labels:  jupyter-notebook
Chainer Handson
CAUTION: This is not maintained anymore. Visit https://github.com/chainer-community/chainer-colab-notebook/
Stars: ✭ 84 (+6.33%)
Mutual labels:  jupyter-notebook
Depy2016
Stars: ✭ 84 (+6.33%)
Mutual labels:  jupyter-notebook
Automatic Image Captioning
Generating Captions for images using Deep Learning
Stars: ✭ 84 (+6.33%)
Mutual labels:  jupyter-notebook
Turkish Bert Nlp Pipeline
Bert-base NLP pipeline for Turkish, Ner, Sentiment Analysis, Question Answering etc.
Stars: ✭ 85 (+7.59%)
Mutual labels:  jupyter-notebook
Textsum
Stars: ✭ 84 (+6.33%)
Mutual labels:  jupyter-notebook
Hops Examples
Examples for Deep Learning/Feature Store/Spark/Flink/Hive/Kafka jobs and Jupyter notebooks on Hops
Stars: ✭ 84 (+6.33%)
Mutual labels:  jupyter-notebook
Data science
Notebooks de análises e projetos de Data Science em Python
Stars: ✭ 85 (+7.59%)
Mutual labels:  jupyter-notebook
Gans
GANs in slanted land
Stars: ✭ 85 (+7.59%)
Mutual labels:  jupyter-notebook
Dealing with data
Material that I use for a variety of classes and tutorials
Stars: ✭ 84 (+6.33%)
Mutual labels:  jupyter-notebook

Image Captioning System

This repository presents a pyTorch implementation of the Show, Attend, and Tell paper (https://arxiv.org/pdf/1502.03044.pdf) and applies two extentions to it: (1) utalize the GloVe embeddings and (2) integrate BERT context vectors into training. These extensions have proved to greatly inhance the model's performance.

Parts of this pyTorch implementaion are taken from the following github repositories:

  1. https://github.com/parksunwoo/show_attend_and_tell_pytorch/blob/master/prepro.py
  2. https://github.com/sgrvinod/a-PyTorch-Tutorial-to-Image-Captioning

The main additions of this implementaion are:

  1. Integrating GloVe
  2. Intergrating BERT
  3. Integrating recent advancements into the model implementation
  4. Simplifying and cleaning the older implementations

Instructions to run the code

Download and clean data

  1. Create three folders: (1) data, (2) annotations - inside of data, (3) checkpoints, and (4) glove.6B
  2. Download the train2014 and val2014 MS COCO dataset and place them in the data folder (http://cocodataset.org/#download)
  3. Download the COCO train/val 2014 captions and place them in data>annotations folder (http://cocodataset.org/#download)
  4. Run the processData.py file (uncomment the last line of that file first) - this will generate train2014_resized, val2014_resized, and vocab.pkl
  5. Comment out the last line of processData.py

Setup GloVe embeddings

  1. Download the glove.6B dataset and place it in glove.6B (https://nlp.stanford.edu/projects/glove/)
  2. Run the glove_embeds.py file - this will generate glove_words.pkl in the glove.6B folder

Train/Validate the models

  1. Open main.py and scroll to 'START Parameters' (Pre-Trained Models: Baseline, GloVe, BERT)
  2. Edit the parameters to train/test the particular model you want
  3. Run main.py with python3

Pre-Trained Models

  1. BERT Soft Attention Model
  2. GloVe Soft Attention Model
  3. Baseline Soft Attention Model (Xu et al,. 2016)

If you only want to validate Pre-Trained Models, then it's much simpler to use the Jupyter Notebook in this repository and just load the model you wish to validate. Open the notebook and find the Load model section and pick the model you want. If you would like to compare all the models against each other, open the jupyter notebook and run the compare_all function.

for more details: https://www.overleaf.com/read/jsghphtqpcgc

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