The Hateful Memes Detection project is designed with a modular architecture to enhance extensibility and adaptability for future enhancements. The project focuses on analyzing memes, with specific modules for handling data, detecting hateful content, and providing a web application interface.
The project follows a well-organized folder structure for clarity and maintainability:
- data: Contains subdirectories for storing images and captions.
- src:
- captions: API for handling captions. Refer to README.md for setup and requirements.
- inpainting: API for inpainting. Refer to README.md for setup and requirements.
- demo: Contains the web application source code.
- llava: Module for fine-tuning and evaluating the Visual Large Language Model (LLaVA). Refer to README.md for setup and requirements.
- procap: API (README.md with setup) and module for training and evaluating the ProCap model. Refer to README.md for setup and requirements for training and evaluation module.
- hypotheses: Scripts to perform statistical hypothesis testing of the results produced by the trained models.
- tests: Holds unit and integration tests for the project.
- .gitignore: Specifies files and directories ignored by the version control system.
- .isort.cfg: Configuration file for the isort tool, ensuring consistent and organized library sorting.
- .pre-commit-config.yaml: Configuration file for pre-commit hooks that enforce checks for code quality and formatting, following PEP8 standards.
Follow the steps below to set up and run the Memes Analysis project:
- Clone the repository:
git clone https://github.com/hbujakow/hateful_memes_detection
- Navigate to the project directory:
cd hateful_memes_detection
- Each module (captions, inpainting, llava, procap) has specific setup instructions detailed in its own
README.md
located within its respective module folder. Refer to the individualREADME.md
files for module-specific instructions.
We welcome contributions to enhance and improve the project. Feel free to open issues, submit pull requests, or reach out to the maintainers for discussion.
This project is licensed under the MIT License.