/leafydex

🍃 Code, studies, and explorations on plant leaf diseases and leaf type classifications. Final project for UC Berkeley MIDS 207 (Machine Learning)

Primary LanguageJupyter NotebookBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

Multispecies Leaf Disease & Leaf Type Classification 🍃

Python version

Python Anaconda Jupyter

Pandas Numpy Tensorflow Keras

Authors

Eshwaran Venkat & Tigran Poladian under Uri Schonfeld

Setup 📦

📓 Requirements

  • python@3.10
  • conda environment

Local Setup

Assuming conda and python are available and are in PATH (accessible from anywhere on the system), run the following commands:

conda env create --name leafydex python=3.10 -y
conda activate leafydex

conda install -c anaconda ipykernel -y
python -m ipykernel install --user --name=leafydex

git clone https://github.com/cricksmaidiene/leafydex
cd leafydex
python -m pip install -r requirements.txt
python -m pip install -e .

Use Github Codepsaces

  • Go to the top-right corner of the repository and click Code
  • Start a github codespaces on the main branch
  • append ?editor=jupyter of the codespaces URL to start exploring on Jupyterlab

Dataset Setup 🛠

Add Kaggle API key to /credentials (all files within this directory are ignored by git)

Instructions for UNIX-based systems (or Codespaces). Windows may require different commands

mkdir ~/.kaggle #ignore if directory already present
chmod 600 credentials/kaggle.json
cp credentials/kaggle.json ~/.kaggle/kaggle.json
python -m pip install kaggle
kaggle datasets download -d csafrit2/plant-leaves-for-image-classification -p ./data/raw
unzip data/raw/plant-leaves-for-image-classification.zip -d data/raw
rm data/raw/plant-leaves-for-image-classification.zip

Additional guides

  • Practices: Please read practices.md for details on how to set up this project beyond the base installation.

  • Structure: Please read structure.md to see the file structure of this project

  • Execution Trail: Please read trail.md to see the trail of execution across multiple files


Project structure based on the cookiecutter conda data science project template.