Classifying images by the time of day using the Unsplash dataset. To classify images, I use the CLIP model without fine-tuning, and as a zero-shot classifier. This is a hands-on project to start with MLOps and CI/CI pipelines for machine learning projects. The demo of the project is shown below:
- DVC
- GitHub actions
- Docker
- Flask
- AWS ECR, EC2
Clone the repository
$ git clone https://github.com/shakibyzn/unsplash-clip-classification.git
$ python -m venv your_venv
$ source your_venv/bin/activate
$ pip install -r requirements.txt
Package the project
$ python setup.py install
Finally run the following command
$ python app.py
Now, open up your browser, and go to localhost:8080
You can follow this youtube video from @krishnaik06 for this part of the project.
# with specific access
1. EC2 access : It is virtual machine
2. ECR: Elastic Container registry to save your docker image in aws
# Description: About the deployment
1. Build docker image of the source code
2. Push your docker image to ECR
3. Launch Your EC2
4. Pull Your image from ECR in EC2
5. Lauch your docker image in EC2
# Policy:
1. AmazonEC2ContainerRegistryFullAccess
2. AmazonEC2FullAccess
- Save the URI: your_prefix.dkr.your_region.amazonaws.com/your_repository
# optinal
sudo apt-get update -y
sudo apt-get upgrade
#required
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker ubuntu
newgrp docker
setting> actions> runner> new self hosted runner> choose os> then run command one by one
AWS_ACCESS_KEY_ID =
AWS_SECRET_ACCESS_KEY =
AWS_REGION =
AWS_ECR_LOGIN_URI =
ECR_REPOSITORY_NAME =