All Projects → rizavelioglu → hateful_memes-hate_detectron

rizavelioglu / hateful_memes-hate_detectron

Licence: MIT license
Detecting Hate Speech in Memes Using Multimodal Deep Learning Approaches: Prize-winning solution to Hateful Memes Challenge. https://arxiv.org/abs/2012.12975

Programming Languages

Jupyter Notebook
11667 projects

Projects that are alternatives of or similar to hateful memes-hate detectron

attentive-modality-hopping-for-SER
TensorFlow implementation of "Attentive Modality Hopping for Speech Emotion Recognition," ICASSP-20
Stars: ✭ 25 (-28.57%)
Mutual labels:  multimodal-deep-learning
iMIX
A framework for Multimodal Intelligence research from Inspur HSSLAB.
Stars: ✭ 21 (-40%)
Mutual labels:  multimodal-deep-learning
bootcamp-launchbase-desafios-04
Desafios do quarto módulo do Bootcamp Launchbase 🚀👨🏻‍🚀
Stars: ✭ 59 (+68.57%)
Mutual labels:  challenge
challenges
Security challenges and CTFs created by the Penultimate team.
Stars: ✭ 13 (-62.86%)
Mutual labels:  challenge
covid-xprize
Open-source repository containing examples and documentation for the Cognizant XPRIZE Pandemic Response Challenge
Stars: ✭ 36 (+2.86%)
Mutual labels:  challenge
advent-of-code-2019
Advent of Code 2019 Submissions
Stars: ✭ 27 (-22.86%)
Mutual labels:  challenge
Spy-Quiz
Hacker Challenge 👾
Stars: ✭ 17 (-51.43%)
Mutual labels:  challenge
hackerrank-sql
📂 HackerRank SQL track solutions
Stars: ✭ 92 (+162.86%)
Mutual labels:  challenge
extreme-carpaccio
Slicing and coding game
Stars: ✭ 116 (+231.43%)
Mutual labels:  challenge
referit3d
Code accompanying our ECCV-2020 paper on 3D Neural Listeners.
Stars: ✭ 59 (+68.57%)
Mutual labels:  multimodal-deep-learning
challenge-elm
Challenge your Elm coding skills (and optionally apply to our remote FE developer position!)
Stars: ✭ 16 (-54.29%)
Mutual labels:  challenge
multimodal-deep-learning-for-disaster-response
Damage Identification in Social Media Posts using Multimodal Deep Learning: code and dataset
Stars: ✭ 43 (+22.86%)
Mutual labels:  multimodal-deep-learning
awesome-adventjs
🎅🎄 A collection of awesome resources related to the adventJS challenge https://adventjs.dev by @midudev
Stars: ✭ 45 (+28.57%)
Mutual labels:  challenge
challenges
Ce dépôt contient tous les sujets des défis ainsi que les solutions proposées par les participants.
Stars: ✭ 18 (-48.57%)
Mutual labels:  challenge
challenge-generator
A program that generates a folder structure with challenges and projects for mastering a programming language.
Stars: ✭ 69 (+97.14%)
Mutual labels:  challenge
mmd
This repository contains the Pytorch implementation for our SCAI (EMNLP-2018) submission "A Knowledge-Grounded Multimodal Search-Based Conversational Agent"
Stars: ✭ 28 (-20%)
Mutual labels:  multimodal-deep-learning
front-end-challenge
Desafio para candidatos a front-end.
Stars: ✭ 170 (+385.71%)
Mutual labels:  challenge
xorpd-solutions
[SPOILER ALERT] My attempt at tackling the x86_64 asm riddles in xorpd's xchg rax,rax book. Pull requests welcome.
Stars: ✭ 57 (+62.86%)
Mutual labels:  challenge
bootcamp-launchbase-desafios-01
Desafios do primeiro módulo do Bootcamp Launchbase 🚀👨🏻‍🚀
Stars: ✭ 120 (+242.86%)
Mutual labels:  challenge
open-solution-googleai-object-detection
Open solution to the Google AI Object Detection Challenge 🍁
Stars: ✭ 46 (+31.43%)
Mutual labels:  challenge

Hateful Memes Challenge-Team HateDetectron Submissions

Check out the paper on arXiv

This repository contains all the code used at the Hateful Memes Challenge by Facebook AI. There are 2 main Jupyter notebooks where all the job is done and documented:

  • The 'reproducing results' notebook --> Open In Colab
  • The 'end-to-end' notebook --> Open In Colab

The first notebook is only for reproducing the results of Phase-2 submissions by the team HateDetectron. In other words, just loading the final models and getting predictions for the test set. See the end-to-end notebook to have a look at the whole approach in detail: how the models are trained, how the image features are extracted, which datasets are used, etc.


About the Competition

The Hateful Memes Challenge and Data Set is a competition and open source data set designed to measure progress in multimodal vision-and-language classification.

Check out the following sources to get more on the challenge:

Competition Results:

We are placed the 3rd out of 3.173 participants in total!

See the official Leaderboard here!


Repository structure

The repository consists of the following folders:
hyperparameter_sweep/ : where scripts for hyperparameter search are.
  • get_27_models.py: iterates through the folders those that were created for hyperparameter search and collects the metrics (ROC-AUC, accuracy) on the 'dev_unseen' set and stores them in a pd.DataFrame. Then, it sorts the models according to AUROC metric and moves the best 27 models into a generated folder majority_voting_models/
  • remove_unused_file.py: removes unused files, e.g. old checkpoints, to free the disk.
  • sweep.py: defines the hyperparameters and starts the process by calling /sweep.sh
  • sweep.sh: is the mmf cli command to do training on a defined dataset, parameters, etc.
notebooks/ : where Jupyter notebooks are stored.
  • [GitHub]end2end_process.ipynb: presents the whole approach end-to-end: expanding data, image feature extraction, hyperparameter search, fine-tuning, majority voting.
  • [GitHub]reproduce_submissions.ipynb: loads our fine-tuned (final) models and generates predictions.
  • [GitHub]label_memotion.ipynb: a notebook which uses /utils/label_memotion.py to label memes from Memotion and to save it in an appropriate form.
  • [GitHub]simple_model.ipynb: includes a simple multimodal model implementation, also known as 'mid-level concat fusion'. We train the model and generate submission for the challenge test set.
  • [GitHub]benchmarks.ipynb: reproduces the benchmark results.
utils/ : where some helper scripts are stored, such as labeling Memotion Dataset and merging the two datasets.
  • concat_memotion-hm.py: concatenates the labeled memotion samples and the hateful memes samples and saves them in a new train.jsonl file.
  • generate_submission.sh: generates predictions for 'test_unseen' set (phase 2 test set).
  • label_memotion.jsonl: presents the memes labeled by us from memotion dataset.
  • label_memotion.py: is the script for labelling Memotion Dataset. The script iterates over the samples in Memotion and labeler labels the samples by entering 1 or 0 on the keyboard. The labels and the sample metadata is saved at the end as a label_memotion.jsonl.

Contact:

Support Me:

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