Giter Club home page Giter Club logo

cee8 / planktos Goto Github PK

View Code? Open in Web Editor NEW
2.0 3.0 0.0 197 KB

Planktos is an image recognition model tailored for classifying various species of phytoplankton. Built using cutting-edge machine learning algorithms, this tool enables researchers and environmentalists to automate and accelerate the identification process, enhancing studies in marine biology and ecology.

License: MIT License

Python 100.00%
ai hab harmful-algal-blooms ml phytoplankton plankton

planktos's Introduction

Planktos: Phytoplankton Image Recognition


Planktos is an innovative image recognition model tailored for classifying various species of phytoplankton. Built using cutting-edge machine learning algorithms, this tool enables researchers and environmentalists to automate and accelerate the identification process, enhancing studies in marine biology and ecology.

Table of Contents

Features

  • Customizable Model Training: Fine-tune the model parameters based on your specific dataset requirements.
  • Efficient Prediction: Utilize the trained model to classify new images quickly and accurately.
  • Flexible Data Preprocessing: Ready your dataset for training with a robust preprocessing script tailored for phytoplankton image data.

Installation

Clone the repository and install the necessary dependencies:

git clone https://github.com/cee8/planktos.git
cd planktos
pip install -r requirements.txt

Usage

Training the Model

Start the training process with the following command, which will also handle model serialization and label saving:

python3 metaflow/phytoplankton_flow.py run

Predicting with the Model

To predict phytoplankton classes from new images:

python3 src/predict_image.py

Data Preprocessing

Prepare your dataset by running the preprocessing script:

python3 src/data_loader.py

Contributing

We welcome contributions to Planktos! For more information on how to help, please refer to the contributing guidelines.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contact

Feel free to raise any issues or suggestions on the GitHub page. Alternatively, you can contact me directly at https://www.linkedin.com/in/beaudoin-/.

planktos's People

Contributors

cee8 avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

planktos's Issues

Fix Scoping Issue and added error handling

Title: Fix Scoping Issue and Enhance Robustness in Image Loading Functions

Description:
The current implementation of the load_dataset and load_images_and_labels functions has several issues and can be improved for better robustness and clarity. This issue aims to address the following problems:

Scoping Issue: The label_dict variable is not accessible in the load_dataset function because it is defined within load_images_and_labels and not returned.

Error Handling: There is no error handling for image loading, which can cause the entire process to fail if a single image is problematic.
File Extension Check: The file extension check for images is case-sensitive, which might cause valid image files to be skipped if their extensions are in uppercase.
Code Clarity: Improving the readability and structure of the code by adding missing types in docstrings and making minor enhancements.

Proposed Fix:

Return label_dict: Modify load_images_and_labels to return label_dict along with X and y, and adjust load_dataset to accept and use this return value.
Add Error Handling: Introduce error handling for image loading to skip files that cause exceptions, ensuring that one problematic file does not halt the process.
Case-Insensitive Extension Check: Use str.lower() to make the file extension check case-insensitive, ensuring all valid image files are processed regardless of their extension case.
Code Enhancements: Update docstrings to include missing types and enhance the overall readability of the code.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.