{"id":20328,"name":"Deep Plant Phenomics","description":"A platform for plant phenotyping using deep learning.","url":"https://github.com/p2irc/deepplantphenomics","last_synced_at":"2026-04-07T02:01:59.209Z","repository":{"id":119625962,"uuid":"88656556","full_name":"p2irc/deepplantphenomics","owner":"p2irc","description":"Deep learning for plant phenotyping.","archived":false,"fork":false,"pushed_at":"2021-03-05T15:43:16.000Z","size":176990,"stargazers_count":139,"open_issues_count":0,"forks_count":45,"subscribers_count":12,"default_branch":"master","last_synced_at":"2026-01-04T00:58:41.913Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/p2irc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2017-04-18T18:18:08.000Z","updated_at":"2025-11-28T21:41:41.000Z","dependencies_parsed_at":"2023-09-21T19:25:38.421Z","dependency_job_id":null,"html_url":"https://github.com/p2irc/deepplantphenomics","commit_stats":{"total_commits":519,"total_committers":15,"mean_commits":34.6,"dds":0.6069364161849711,"last_synced_commit":"2cfad2287c4806efc941ea35c0f732102b4c02f0"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/p2irc/deepplantphenomics","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/p2irc%2Fdeepplantphenomics","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/p2irc%2Fdeepplantphenomics/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/p2irc%2Fdeepplantphenomics/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/p2irc%2Fdeepplantphenomics/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/p2irc","download_url":"https://codeload.github.com/p2irc/deepplantphenomics/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/p2irc%2Fdeepplantphenomics/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28337617,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-12T06:09:07.588Z","status":"ssl_error","status_checked_at":"2026-01-12T06:05:18.301Z","response_time":98,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"owner":{"login":"p2irc","name":"p2irc","uuid":"27709041","kind":"organization","description":"p2irc","email":null,"website":"p2irc.usask.ca","location":"University of Saskatchewan","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/27709041?v=4","repositories_count":8,"last_synced_at":"2023-03-06T23:18:33.408Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/p2irc","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-16T23:23:03.248Z","updated_at":"2023-03-06T23:18:33.412Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/p2irc","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/p2irc/repositories"},"packages":[],"commits":{"id":1254281,"full_name":"p2irc/deepplantphenomics","default_branch":"master","total_commits":519,"total_committers":14,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":37.07142857142857,"dds":0.5780346820809248,"past_year_total_commits":0,"past_year_total_committers":0,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":0.0,"past_year_dds":0.0,"last_synced_at":"2025-12-15T10:16:04.013Z","last_synced_commit":"2cfad2287c4806efc941ea35c0f732102b4c02f0","created_at":"2023-03-27T11:31:48.569Z","updated_at":"2025-12-15T10:14:41.397Z","committers":[{"name":"Jordan Ubbens","email":"jubbens@gmail.com","login":"jubbens","count":219},{"name":"Donovan Lavoie","email":"dbl599@mail.usask.ca","login":"donovanlavoie","count":198},{"name":"nhiggs","email":"nicoreekohiggs@gmail.com","login":"nicohiggs","count":40},{"name":"Jian Su","email":"jis860@discus-desk09.usask.ca","login":null,"count":25},{"name":"Logan","email":"logan@ncconsulting.ca","login":"logan-ncc","count":11},{"name":"Jian Su","email":"jis860@usask.ca","login":"JianSu-Usask","count":10},{"name":"tlg609","email":"tlg609@mail.usask.ca","login":null,"count":4},{"name":"Nico Higgs (nrh328)","email":"nico.higgs@usask.ca","login":null,"count":3},{"name":"Jordan Ubbens","email":"jordan@uofs-10-227-128-34.usask.ca","login":null,"count":3},{"name":"Travis Simmons","email":"64273464+Travis-Simmons","login":"Travis-Simmons","count":2},{"name":"jordan","email":"jordan@gmail.com","login":"jordan12376","count":1},{"name":"JVanaret","email":"39313724+JVanaret","login":"JVanaret","count":1},{"name":"Jordan Ubbens","email":"jordan@uofs-10-227-154-203.usask.ca","login":null,"count":1},{"name":"Jordan Ubbens","email":"jordan@uofs-10-227-148-232.usask.ca","login":null,"count":1}],"past_year_committers":[],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/p2irc%2Fdeepplantphenomics/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-01-10T00:00:56.659Z","repositories_count":6163228,"commits_count":932663415,"contributors_count":36263526,"owners_count":1136731,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues_stats":{"full_name":"p2irc/deepplantphenomics","html_url":"https://github.com/p2irc/deepplantphenomics","last_synced_at":"2025-08-31T11:43:56.968Z","status":"error","issues_count":12,"pull_requests_count":41,"avg_time_to_close_issue":4945085.666666667,"avg_time_to_close_pull_request":141074.9756097561,"issues_closed_count":12,"pull_requests_closed_count":41,"pull_request_authors_count":8,"issue_authors_count":10,"avg_comments_per_issue":3.3333333333333335,"avg_comments_per_pull_request":0.5609756097560976,"merged_pull_requests_count":40,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"created_at":"2023-05-09T11:00:00.172Z","updated_at":"2025-08-31T11:43:56.968Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/p2irc%2Fdeepplantphenomics","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/p2irc%2Fdeepplantphenomics/issues","issue_labels_count":{},"pull_request_labels_count":{},"issue_author_associations_count":{"NONE":11,"MEMBER":1},"pull_request_author_associations_count":{"MEMBER":30,"CONTRIBUTOR":9,"NONE":2},"issue_authors":{"3nryk":2,"DryFrost":2,"Mahi-Mai":1,"tbayetird":1,"bursalihilal":1,"stardust66":1,"gs55":1,"mheriyanto":1,"DanielCWard":1,"jubbens":1},"pull_request_authors":{"donovanlavoie":23,"jubbens":7,"nicohiggs":4,"Travis-Simmons":2,"JianSu-Usask":2,"JVanaret":1,"logankopas":1,"Graytr":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-12-31T00:00:36.777Z","repositories_count":12494488,"issues_count":35679519,"pull_requests_count":117128046,"authors_count":11079103,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{},"past_year_pull_request_labels_count":{},"past_year_issue_author_associations_count":{},"past_year_pull_request_author_associations_count":{},"past_year_issue_authors":{},"past_year_pull_request_authors":{},"maintainers":[{"login":"donovanlavoie","count":23,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/donovanlavoie"},{"login":"jubbens","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jubbens"}],"active_maintainers":[]},"events":{"total":{"WatchEvent":6},"last_year":{"WatchEvent":3}},"keywords":[],"dependencies":[],"score":7.57353126274595,"created_at":"2023-09-11T14:52:11.701Z","updated_at":"2026-04-07T02:01:59.238Z","avatar_url":"https://github.com/p2irc.png","language":"Python","category":"Biosphere","sub_category":"Plants and Vegetation","monthly_downloads":0,"total_dependent_repos":0,"total_dependent_packages":0,"readme":"# DEPRECATED\n\nDeep Plant Phenomics is no longer actively maintained. It is available here for historical purposes - however, it is provided as-is with no updates or bug fixes planned.\n\nSee [this thread](https://twitter.com/jordanubbens/status/1347273714631585792) for discussion.\n\n# Deep Plant Phenomics\n\nDeep Plant Phenomics (DPP) is a platform for plant phenotyping using deep learning. Think of it as [Keras](https://keras.io/) for plant scientists.\n\nDPP integrates [Tensorflow](https://www.tensorflow.org/) for learning. This means that it is able to run on both CPUs and GPUs, and scale easily across devices.\n\nRead the [doumentation](http://deep-plant-phenomics.readthedocs.io/en/latest/) for tutorials, or see the included examples. You can also read the [paper](http://journal.frontiersin.org/article/10.3389/fpls.2017.01190/full).\n\nDPP is maintained at the [Plant Phenotyping and Imaging Research Center (P2IRC)](http://p2irc.usask.ca/) at the [University of Saskatchewan](https://www.usask.ca/). 🌾🇨🇦\n\n## What's Deep Learning?\n\nPrincipally, DPP provides deep learning functionality for plant phenotyping and related applications. Deep learning is a category of techniques which encompasses many different types of neural networks. Deep learning techniques lead the state of the art in many image-based tasks, including image classification, object detection and localization, image segmentation, and others.\n\n## What Can I Do With This?\n\nThis package provides two things:\n\n### 1. Useful tools made possible using pre-trained neural networks\n\nFor example, calling `tools.predict_rosette_leaf_count(my_files)` will use a pre-trained convolutional neural network to estimate the number of leaves on each rosette plant.\n\n### 2. An easy way to train your own models\n\nFor example, using a few lines of code you can easily use your data to train a convolutional neural network to rate plants for biotic stress. See the [tutorial](http://deep-plant-phenomics.readthedocs.io/en/latest/Tutorial-Training-The-Leaf-Counter/) for how the leaf counting model was built.\n\n## Features\n\n- Several [trained networks](http://deep-plant-phenomics.readthedocs.io/en/latest/Tools/) for common plant phenotyping tasks.\n- Easy ways to load data.\n    - Loaders for some popular plant phenotyping datasets.\n    - Plenty of [different loaders](http://deep-plant-phenomics.readthedocs.io/en/latest/Loaders/) for your own data, however it exists.\n- Support for [semantic segmentation](http://deep-plant-phenomics.readthedocs.io/en/latest/Semantic-Segmentation/).\n- Support for [object detection](http://deep-plant-phenomics.readthedocs.io/en/latest/Tutorial-Training-An-Object-Detector).\n- Support for object counting via [density estimation](http://deep-plant-phenomics.readthedocs.io/en/latest/Tutorial-Object-Counting-with-Heatmaps), including [Countception networks](http://deep-plant-phenomics.readthedocs.io/en/latest/Tutorial-Object-Counting-with-Countception/).\n- Support for classification and [regression](http://deep-plant-phenomics.readthedocs.io/en/latest/Tutorial-Training-The-Leaf-Counter) tasks.\n- Tensorboard integration for visualization.\n- Easy-to-use API for building new models.\n    - [Pre-defined neural network architectures](http://deep-plant-phenomics.readthedocs.io/en/latest/Predefined-Model-Architectures) so you don't have to make your own.\n    - Several data augmentation options.\n    - Many ready-to-use [neural network layers](http://deep-plant-phenomics.readthedocs.io/en/latest/Neural-Network-Layers/).\n- Easy to [deploy](http://deep-plant-phenomics.readthedocs.io/en/latest/Tutorial-Deployment/) your own models as a Python function!\n\n## Example Usage\n\nTrain a simple regression model:\n\n```python\nimport deepplantphenomics as dpp\n\nmodel = dpp.RegressionModel(debug=True)\n\n# 3 channels for colour, 1 channel for greyscale\nchannels = 3\n\n# Setup and hyperparameters\nmodel.set_batch_size(64)\nmodel.set_image_dimensions(256, 256, channels)\nmodel.set_maximum_training_epochs(25)\nmodel.set_test_split(0.2)\nmodel.set_validation_split(0.0)\n\n# Load dataset of images and ground-truth labels\nmodel.load_multiple_labels_from_csv('./data/my_labels.csv')\nmodel.load_images_with_ids_from_directory('./data')\n\n# Use a predefined model\nmodel.use_predefined_model('vgg-16')\n\n# Train!\nmodel.begin_training()\n```\n\n## Installation\n\n1. `git clone https://github.com/p2irc/deepplantphenomics.git`\n2. `pip install ./deepplantphenomics`\n\n**Note**: The package now requires Python 3.6 or greater. Python 2.7 is no longer supported.\n\n","funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":[],"project_url":"https://ost.ecosyste.ms/api/v1/projects/20328","html_url":"https://ost.ecosyste.ms/projects/20328"}