This project demonstrates how to deploy a plant disease classification system using Kubeflow on AWS EKS. The infrastructure is provisioned using Terraform, and the machine learning pipeline is orchestrated using Kubeflow Pipelines.
infrastructure/: Contains Terraform files for deploying Kubeflow on AWS EKSpipelines/: Contains Kubeflow pipeline definitions for the plant disease classification systemmodels/: Contains machine learning models for plant disease classificationdata/: Contains scripts for data preparation and preprocessingnotebooks/: Contains Jupyter notebooks for exploratory data analysis and model development
First, deploy the Kubeflow infrastructure on AWS EKS using Terraform:
cd infrastructure
terraform init
terraform applySee the infrastructure README for detailed instructions.
After the infrastructure is deployed, you can access the Kubeflow Pipelines UI:
# Configure kubectl to connect to your EKS cluster
aws eks update-kubeconfig --region us-east-1 --name kubeflow-eks
# Get the Load Balancer URL for Kubeflow
kubectl get ingress -n kubeflow kubeflow-ingressThe Kubeflow Pipelines UI will be available at the AWS Load Balancer URL (HTTP only).
This project uses deep learning models to classify plant diseases from images. The system can identify various diseases affecting different crops, helping farmers diagnose plant health issues early and take appropriate actions.
- Tomato
- Potato
The classification model is based on a convolutional neural network (CNN) architecture.
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.