{"id":15288067,"url":"https://github.com/cceyda/torchserve-dashboard","last_synced_at":"2025-04-13T06:42:16.003Z","repository":{"id":41065604,"uuid":"299558250","full_name":"cceyda/torchserve-dashboard","owner":"cceyda","description":"Management Dashboard for Torchserve","archived":false,"fork":false,"pushed_at":"2023-01-31T09:55:36.000Z","size":3032,"stargazers_count":121,"open_issues_count":9,"forks_count":13,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-24T09:26:31.337Z","etag":null,"topics":["ml-deployment","pytorch","streamlit","torchserve"],"latest_commit_sha":null,"homepage":"https://practical.codes/torchserve/streamlit/dashboard/2020/10/15/torchserve.html","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cceyda.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-09-29T08:49:32.000Z","updated_at":"2025-02-08T15:02:21.000Z","dependencies_parsed_at":"2023-02-16T18:02:08.865Z","dependency_job_id":null,"html_url":"https://github.com/cceyda/torchserve-dashboard","commit_stats":null,"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cceyda%2Ftorchserve-dashboard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cceyda%2Ftorchserve-dashboard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cceyda%2Ftorchserve-dashboard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cceyda%2Ftorchserve-dashboard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cceyda","download_url":"https://codeload.github.com/cceyda/torchserve-dashboard/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248675439,"owners_count":21143763,"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","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":["ml-deployment","pytorch","streamlit","torchserve"],"created_at":"2024-09-30T15:44:00.913Z","updated_at":"2025-04-13T06:42:15.975Z","avatar_url":"https://github.com/cceyda.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Torchserve Dashboard\n[![Total Downloads](https://pepy.tech/badge/torchserve-dashboard)](https://pepy.tech/project/torchserve-dashboard)\n[![Downloads](https://static.pepy.tech/badge/torchserve-dashboard/month)](https://pepy.tech/project/torchserve-dashboard)\n\n\nTorchserve Dashboard using Streamlit\n\nRelated blog [post](https://cceyda.github.io/blog/torchserve/streamlit/dashboard/2020/10/15/torchserve.html)\n\n![Demo](assets/dashboard_demo.gif)\n\n# Usage\nAdditional Requirement: \n[torchserve](https://github.com/pytorch/serve/tree/v0.7.0#-quick-start-with-torchserve) (tested on:v0.5.3, supports: v0.7.0 (no API changes between versions))\n\nSimply run:\n\n```bash\npip3 install torchserve-dashboard --user\n# torchserve-dashboard [streamlit_options(optional)] -- [config_path(optional)] [model_store(optional)] [log_location(optional)] [metrics_location(optional)]\ntorchserve-dashboard\n#OR change port \ntorchserve-dashboard --server.port 8105 -- --config_path ./torchserve.properties\n#OR provide a custom configuration \ntorchserve-dashboard -- --config_path ./torchserve.properties --model_store ./model_store\n```\n\n:exclamation: Keep in mind that If you change any of the `--config_path`,`--model_store`,`--metrics_location`,`--log_location` options while there is a torchserver already running before starting torch-dashboard they won't come into effect until you stop\u0026start torchserve. These options are used instead of their respective environment variables `TS_CONFIG_FILE, METRICS_LOCATION, LOG_LOCATION`.\n\nOR \n```bash\ngit clone https://github.com/cceyda/torchserve-dashboard.git\nstreamlit run torchserve_dashboard/dash.py \n#OR\nstreamlit run torchserve_dashboard/dash.py --server.port 8105 -- --config_path ./torchserve.properties \n```\nExample torchserve [config](https://pytorch.org/serve/configuration.html):\n\n```\ninference_address=http://127.0.0.1:8443\nmanagement_address=http://127.0.0.1:8444\nmetrics_address=http://127.0.0.1:8445\ngrpc_inference_port=7070\ngrpc_management_port=7071\nnumber_of_gpu=0\nbatch_size=1\nmodel_store=./model_store\n```\n\nIf the server doesn't start for some reason check if your ports are already in use!\n\n# Updates\n\n[15-oct-2020] add [scale workers](https://pytorch.org/serve/management_api.html#scale-workers) tab \n\n[16-feb-2021] (functionality) make logpath configurable,(functionality)remove model_name requirement,(UI)add cosmetic error messages\n\n[10-may-2021] update config \u0026 make it optional. update streamlit. Auto create folders\n\n[31-may-2021] Update to v0.4 (Add workflow API) Refactor out streamlit from api.py.  \n\n[30-nov-2021] Update to v0.5, adding support for [encrypted model serving](https://github.com/pytorch/serve/blob/v0.5.0/docs/management_api.md#encrypted-model-serving) (not tested). Update streamlit to v1+\n\n# FAQs\n- **Does torchserver keep running in the background?**\n\n    The torchserver is spawned using `Popen` and keeps running in the background even if you stop the dashboard.\n\n- **What about environment variables?**\n\n    These environment variables are passed to the torchserve command:\n    \n    `ENVIRON_WHITELIST=[\"LD_LIBRARY_PATH\",\"LC_CTYPE\",\"LC_ALL\",\"PATH\",\"JAVA_HOME\",\"PYTHONPATH\",\"TS_CONFIG_FILE\",\"LOG_LOCATION\",\"METRICS_LOCATION\",\"AWS_ACCESS_KEY_ID\", \"AWS_SECRET_ACCESS_KEY\", \"AWS_DEFAULT_REGION\"]`\n\n- **How to change the logging format of torchserve?**\n\n    You can set the location of your custom log4j2 config in your configuration file as in [here](https://pytorch.org/serve/logging.html#provide-with-config-properties)\n    \n    `vmargs=-Dlog4j.configurationFile=file:///path/to/custom/log4j2.xml`\n    \n- **What is the meaning behind the weird versioning**?\n\n    The minor follows the compatible torchserve version, patch version reflects the dashboard versioning\n    \n# Help \u0026 Question \u0026 Feedback\n\nOpen an issue\n\n# TODOs\n- Async?\n- Better logging\n- Remote only mode\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcceyda%2Ftorchserve-dashboard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcceyda%2Ftorchserve-dashboard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcceyda%2Ftorchserve-dashboard/lists"}