{"id":28712857,"url":"https://github.com/kylehperez/mushroomnet","last_synced_at":"2026-04-09T21:14:08.809Z","repository":{"id":297978976,"uuid":"998474446","full_name":"KyleHPerez/mushroomnet","owner":"KyleHPerez","description":"This API is for research purposes ONLY and is NOT to be used for food-safety or medical advice. Mushroomnet is a machine learning neural network for classifying mushrooms as poisonous or edible. The model was trained on data from uni.edu: over 5,000 instances of mushrooms, with 22 qualitative features and a determination of poisonous or edible.","archived":false,"fork":false,"pushed_at":"2025-06-15T18:41:47.000Z","size":169,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-15T18:59:17.655Z","etag":null,"topics":["artificial-intelligence","botany","flask-api","machine-learning","mycology","neural-network","numpy","python3","pytorch","scikit-learn"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KyleHPerez.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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-08T17:26:06.000Z","updated_at":"2025-06-15T18:41:50.000Z","dependencies_parsed_at":"2025-06-08T18:41:43.757Z","dependency_job_id":null,"html_url":"https://github.com/KyleHPerez/mushroomnet","commit_stats":null,"previous_names":["kylehperez/mushroomnet"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/KyleHPerez/mushroomnet","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KyleHPerez%2Fmushroomnet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KyleHPerez%2Fmushroomnet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KyleHPerez%2Fmushroomnet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KyleHPerez%2Fmushroomnet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KyleHPerez","download_url":"https://codeload.github.com/KyleHPerez/mushroomnet/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KyleHPerez%2Fmushroomnet/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270951256,"owners_count":24674006,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-18T02:00:08.743Z","response_time":89,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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"}},"keywords":["artificial-intelligence","botany","flask-api","machine-learning","mycology","neural-network","numpy","python3","pytorch","scikit-learn"],"created_at":"2025-06-15T00:00:57.677Z","updated_at":"2026-04-09T21:14:08.772Z","avatar_url":"https://github.com/KyleHPerez.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# mushroomnet\nMushroomnet is a machine learning neural network for classifying mushrooms as poisonous or edible. The model was trained on data from uni.edu: over 5,000 instances of mushrooms, each with 22 qualitative features and a determination of poisonous or edible. \n\nATTENTION! This API is for research purposes only and is NOT to be used for food-safety or medical advice.\n\nGENERAL DESCRIPTION\nThe code here was written by myself (Kyle Hunter Perez) on 8 June 2025 as an experiment in learning neural network (NN) machine learning (ML) / artificial intelligence (AI) with Python. I used ChatGPT (version 4o) to first prepare a basic understanding of relevant topics in Python and the math underpinning those operations. I then directed and supervised ChatGPT 4o to incrementally build code in line with my vision for a simple NN model trained on high-fidelity, under-utilizied data (here, the data set of Agraricus lepiota measurements from UCI.edu) implemented with PyTorch, scikit-learn, pandas, and numpy. I directed code adjustments until a fully functional and deployable API running on Flask and reachable with curl was complete. In the process, I gained hands-on experience working with Python for NN ML/AI, using conventional libraries in that field, deploying the product service, and familiarity with how the code works and the mathematics that run under-the-hood.\n\nWEBSITE\nUse mushroomnet with a basic web UI at https://kylehperez.github.io/mushroomnet/\nSelect values for each of the features and press 'submit' to get a prediction for a sample matching that data.\nThere are some feature values that did not appear in the dataset, so for those few, the model will not recognize them and will not return a prediction.\nI am working on identifying which values those are and removing them from the dropdown menu to avoid confusion.\n\nCLOUD SERVICE\nMushroomnet is now cloud-hosted via Fly.io at https://mushroomnet.fly.dev/. See below (Docker section, point 6) for a sample curl http request to send to the API.\n\nDOCKER\nThis repository contains support files for running mushroomnet as a containerized API with Docker.\nTo run mushroomnet inside a Docker container:\n1. (If you haven't already) download and install Docker https://docs.docker.com/desktop/setup/install/mac-install/\n2. Change your working directory to the folder with the mushroomnet source code files (e.g. cd /home/users/me/Documents/mushroomnet )\n3. From your command line, docker build -t mushroom-api .\n4. Then, also from your command line, docker run -p 8000:5000 mushroom-api\n5. Now you have a container running mushroomnet that you can reach at 127.0.0.1:8000\n6. (Optional) test the API by sending a sample request:\ncurl -X POST http://127.0.0.1:8000/predict \\\n     -H \"Content-Type: application/json\" \\\n     -d '{\"features\": {\"cap-shape\": \"x\", \"cap-surface\": \"s\", \"cap-color\": \"n\", \"bruises\": \"t\", \"odor\": \"p\", \"gill-attachment\": \"f\", \"gill-spacing\": \"c\", \"gill-size\": \"n\", \"gill-color\": \"k\", \"stalk-shape\": \"e\", \"stalk-root\": \"e\", \"stalk-surface-above-ring\": \"s\", \"stalk-surface-below-ring\": \"s\", \"stalk-color-above-ring\": \"w\", \"stalk-color-below-ring\": \"w\", \"veil-type\": \"p\", \"veil-color\": \"w\", \"ring-number\": \"o\", \"ring-type\": \"p\", \"spore-print-color\": \"k\", \"population\": \"s\", \"habitat\": \"u\"}}'\n\nHave fun!\nAnd remember, mushroomnet is only for research/entertainment purposes. DO NOT use mushroomnet for food-safety or medical advice.\n\n\nNEXT STEPS\nIdentify feature values that did not appear in the data set (and which the model does not recognize).\nAdd confidence reporting to the web UI.\nStyle the web UI.\n\nLINKS\nSource for mushroom dataset: https://archive.ics.uci.edu/ml/machine-learning-databases/mushroom/agaricus-lepiota.data\nWebsite interface for mushroomnet https://kylehperez.github.io/mushroomnet/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkylehperez%2Fmushroomnet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkylehperez%2Fmushroomnet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkylehperez%2Fmushroomnet/lists"}