-- 2024 May Personal Project
This personal project develops a straightforward image search application using CLIP, which matches images in a database to user-provided descriptions. The application is deployed through a simple Next.js-based website interface.
demo.mp4
- Download Data: Acquire the dataset from the open-source Flickr 8k Dataset available at Flickr 8k Dataset.
- Rename Database: Change the folder name from "archive" to "data" and copy it into the
./backend
and/frontend/public
directories. - Folder Structure: Within
./backend
, create the directory structureindex/image
. Ensure thatimage
is an empty folder at./backend/index
. - Install Necessary Tools: Ensure npm and pipenv are installed on your local machine.
- Python Environment: Navigate to
./backend
and initiate a Python virtual environment by runningpipenv shell
. - Install Dependencies: Execute
pipenv install
to install all necessary Python dependencies. - Data Conversion: Run the
setup.py
Python script to convert the dataset into.pt
files. Note that this process might take over 30 minutes.
- Frontend: Proceed to
./frontend
and executenpm run dev
to start the frontend. - Backend: In
./backend
, runpython3 main.py
to launch the backend.