{"id":17317358,"url":"https://github.com/cdpierse/pyinfer","last_synced_at":"2025-07-24T07:08:33.276Z","repository":{"id":56092801,"uuid":"307160577","full_name":"cdpierse/pyinfer","owner":"cdpierse","description":"Pyinfer is a model agnostic tool for ML developers and researchers to benchmark the inference statistics for machine learning models or functions.","archived":false,"fork":false,"pushed_at":"2021-02-19T15:11:58.000Z","size":510,"stargazers_count":24,"open_issues_count":1,"forks_count":2,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-14T14:22:05.759Z","etag":null,"topics":["developer-tools","inference","inference-stats","machine-learning","python"],"latest_commit_sha":null,"homepage":"https://pyinfer.readthedocs.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cdpierse.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-10-25T18:04:42.000Z","updated_at":"2023-12-07T14:29:48.000Z","dependencies_parsed_at":"2022-08-15T13:00:54.838Z","dependency_job_id":null,"html_url":"https://github.com/cdpierse/pyinfer","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/cdpierse/pyinfer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cdpierse%2Fpyinfer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cdpierse%2Fpyinfer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cdpierse%2Fpyinfer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cdpierse%2Fpyinfer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cdpierse","download_url":"https://codeload.github.com/cdpierse/pyinfer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cdpierse%2Fpyinfer/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266807176,"owners_count":23987426,"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-07-24T02:00:09.469Z","response_time":99,"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":["developer-tools","inference","inference-stats","machine-learning","python"],"created_at":"2024-10-15T13:16:22.667Z","updated_at":"2025-07-24T07:08:33.244Z","avatar_url":"https://github.com/cdpierse.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n    \u003ca id=\"pyinfer\" href=\"#pyinfer\"\u003e\n        \u003cimg src=\"media/Pyinfer.png\" alt=\"Pyinfer logo\" title=\"Pyinfer Logo\" width=\"400\" /\u003e\n    \u003c/a\u003e\n\u003c/p\u003e\n\n[![build](https://circleci.com/gh/cdpierse/pyinfer.svg?style=shield\u0026circle-token=2c8717a6df1a49242ab0f694f8ab4bb58d376c91)](https://app.circleci.com/pipelines/github/cdpierse/pyinfer)\n\u003cimg src=\"./test/static/coverage.svg\"\u003e\n[![docs](https://readthedocs.org/projects/databay/badge/?version=latest\u0026style=shield\u0026circle)](https://pyinfer.readthedocs.io)\n\nPyinfer is a model agnostic tool for ML developers and researchers to benchmark the inference statistics for machine learning models or functions.\n\n## Installation\n\n```python\npip install pyinfer\n```\n\n## Overview\n\n### Inference Report\n\n`InferenceReport` is for reporting inference statistics on a single model artifact. To create a valid report simply pass it a callable model function or method, valid input(s), and either **n_iterations** or **n_seconds** to determine what interval the report uses for its run duration. Check out the docs for more information on the optional parameters that can be passed. \n\u003cp align=\"left\"\u003e\n    \u003ca id=\"pyinfer\" href=\"#pyinfer\"\u003e\n        \u003cimg src=\"media/carbon_example.png\" alt=\"Pyinfer Example Usage\" title=\"Pyinfer Example\" width=\"650\" /\u003e\n    \u003c/a\u003e\n\u003c/p\u003e\n\n### Multi Inference Report\n\n`MultiInferenceReport` is for reporting inference statistics on a list of model artifacts. To create a valid multi report pass it a list of callable model functions or methods, a list of valid input(s), and either **n_iterations** or **n_seconds** to determine what interval the report uses for its run duration. Check out the docs for more information on the optional parameters that can be passed.\n\n\u003cp align=\"left\"\u003e\n    \u003ca id=\"pyinfer\" href=\"#pyinfer\"\u003e\n        \u003cimg src=\"media/carbon_example_multi.png\" alt=\"Pyinfer Example Usage\" title=\"Pyinfer Example\" width=\"650\" /\u003e\n    \u003c/a\u003e\n\u003c/p\u003e\n\n\n### Example Outputs\n\n**Table Report**\n\u003cp align=\"left\"\u003e\n    \u003ca id=\"pyinfer\" href=\"#pyinfer\"\u003e\n        \u003cimg src=\"media/report_table.png\" alt=\"Pyinfer Table Report\" title=\"Pyinfer Table Report\" /\u003e\n    \u003c/a\u003e\n\u003c/p\u003e\n\n**Run Plot**\n\u003cp align=\"left\"\u003e\n    \u003ca id=\"pyinfer\" href=\"#pyinfer\"\u003e\n        \u003cimg src=\"media/report_plot.png\" alt=\"Pyinfer Report Plot\" title=\"Pyinfer Report Plot\" width=\"850\" /\u003e\n    \u003c/a\u003e\n\u003c/p\u003e\n\n### Stats Currently Included\n\n- Success Rate - Number of successful inferences within a specified time range.\n- Failures - Number of inferences above specified time range.\n- Time Taken - Total time taken to run all inferences.\n- Inference Per Second - Estimate of how many inferences per second the selected model can perform.\n- Max Run - The max time taken to perform an inference for a given run.\n- Min Run - The min time taken to perform an inference for a given run.\n- Std - The Standard deviation between runs.\n- Mean - The mean run time.\n- Median - The median run time.\n- IQR - The inter quartile range of the runs.\n- Cores Logical - The number of logical cores on the host machine.\n- Cores Physical - The number of physical Cores on the host machine.\n\n### Planned Future Stats\n\n- Model Size - Information relating to the size of the model in bytes. \n- GPU Stat Support - Information about if GPU is available and if it is being utilized.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcdpierse%2Fpyinfer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcdpierse%2Fpyinfer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcdpierse%2Fpyinfer/lists"}