https://github.com/dineshpinto/ml-droplet-recognition

Neural network for micro-fluidic droplet LLPS recognition

https://github.com/dineshpinto/ml-droplet-recognition

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.5%) to scientific vocabulary

Keywords

biology deep-learning keras machine-learning neural-network tensorflow
Last synced: 4 months ago · JSON representation

Repository

Neural network for micro-fluidic droplet LLPS recognition

Basic Info
  • Host: GitHub
  • Owner: dineshpinto
  • License: mit
  • Language: Jupyter Notebook
  • Default Branch: main
  • Homepage:
  • Size: 4.04 MB
Statistics
  • Stars: 1
  • Watchers: 2
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Topics
biology deep-learning keras machine-learning neural-network tensorflow
Created almost 4 years ago · Last pushed over 3 years ago
Metadata Files
Readme License

README.md

Droplet Detection with Neural Networks

Use a Convolutional Neural Network built in TensorFlow and Keras to detect a droplet in an experimental data set.

Test Data

The neural net consists of 4 layers, and for testing data shows reasonable results as shown below:

neural_net_results

Experimental Data

The goal is to apply it to a biological sample and detect droplet formation. The droplet as imaged by a microscope looks like:

raw_image

The model is trained on a subset of real data. The trained model is then used to find the droplet in the experimental images. An example of this is shown below:

processed_droplet

Note: All biological droplet data is sourced from @cfsb618

Model

keras_model

Installation

  1. Create the conda environment from file (where xx is ether win10 or macm1)

shell conda env create --file conda-env-xx.yml

  1. Activate environment

shell conda activate ml_droplet

  1. Add environment to Jupyter kernel

shell python -m ipykernel install --user --name=ml_droplet

Performance

For optimal performance use a CUDA compatible NVIDIA GPU with the cuDNN libraries. The training times are around 3 orders of magnitude shorter. A guide on how to do this is given in the Tensorflow docs.

On Apple Silicon, use the tensorflow-metal plugin. A guide on how to do this is given in the Apple developer docs.

Usage

  1. Place your training data in training_data/ and the corresponding droplet labels in droplet_labels.py
  2. Train the model

shell python neural_network_training.py

  1. This will train the neural network model and save the resulting model in models/droplet_detection_model
  2. Test the model by running an automated test set

shell python plot_results.py

OR manually using the JupyterLab Notebook

shell jupyter lab DropletDetectionTesting.ipynb

TODO

  • [x] Add automated hyperparameter optimization.
  • [ ] Add droplet feature detection, such as detecting the point of phase separation
  • [ ] Add random sampling for training and testing data (example code below)

Export conda environment

shell conda env export --no-builds | grep -v "^prefix: " > conda-env.yml

Owner

  • Name: Dinesh Pinto
  • Login: dineshpinto
  • Kind: user
  • Location: Switzerland/Germany

quantum info PhD student @ EPFL, pythonista & rustacean

GitHub Events

Total
Last Year

Issues and Pull Requests

Last synced: 11 months ago

All Time
  • Total issues: 0
  • Total pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 0
  • Total pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels