An Application where the user can upload an image of a Kidney CT-Scan and the underlying DNN model (VGG-16) will predict if the kidney has a tumor or not.
- Update config.yaml
- Update secrets.yaml [Optional]
- Update params.yaml
- Update the entity
- Update the configuration manager in src config
- Update the components
- Update the pipeline
- Update the main.py
- Update the dvc.yaml
- app.py
Clone the repository
https://github.com/atifabedeen/Kidney-disease-classification
conda create -n venv python=3.8 -y
conda activate venv
pip install -r requirements.txt
# Finally run the following command
python app.py
Now,
open up you local host and port
- mlflow ui
I use dagshub to perform experiments with MLFlow. To also use it, read the MLFlow documentation. You would need the following information
MLFLOW_TRACKING_URI MLFLOW_TRACKING_USERNAME MLFLOW_TRACKING_PASSWORD
- dvc init
- dvc repro
- dvc dag
MLflow
- Its Production Grade
- Trace all of your expriements
- Logging & taging your model
DVC
- Its very light-weight for POC only
- light-weight expriements tracker
- It can perform Orchestration (Creating Pipelines)
I've used AWS-CICD-Deployment-with-Github-Actions to connect my project with an AWS EC2 instance and docker to load my files and dependencies on an AWS ECR. I have disabled it for now (because I don't want to pay). To do the same, follow the steps below.
#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
#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
And you're good to go!!
Project adapted and reproduced from Krish Naik Github Repo