flashstudio 0.1.4__tar.gz → 0.1.6__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of flashstudio might be problematic. Click here for more details.

Files changed (111) hide show
  1. flashstudio-0.1.6/PKG-INFO +109 -0
  2. flashstudio-0.1.6/README_PYPI.md +72 -0
  3. flashstudio-0.1.6/flashstudio.egg-info/PKG-INFO +109 -0
  4. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio.egg-info/SOURCES.txt +1 -0
  5. {flashstudio-0.1.4 → flashstudio-0.1.6}/pyproject.toml +2 -2
  6. flashstudio-0.1.4/PKG-INFO +0 -371
  7. flashstudio-0.1.4/flashstudio.egg-info/PKG-INFO +0 -371
  8. {flashstudio-0.1.4 → flashstudio-0.1.6}/README.md +0 -0
  9. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/__init__.py +0 -0
  10. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/app.py +0 -0
  11. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/cli.py +0 -0
  12. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/components/__init__.py +0 -0
  13. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/components/project_manager.py +0 -0
  14. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/components/sidebar.py +0 -0
  15. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/components/styles.py +0 -0
  16. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/components/wizard.py +0 -0
  17. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/components/zone_drawer/__init__.py +0 -0
  18. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/constants.py +0 -0
  19. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/core/__init__.py +0 -0
  20. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/core/constants.py +0 -0
  21. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/launcher.py +0 -0
  22. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/__init__.py +0 -0
  23. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/dashboard/__init__.py +0 -0
  24. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/dashboard/_common.py +0 -0
  25. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/dashboard/overview/__init__.py +0 -0
  26. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/dashboard/overview/metrics.py +0 -0
  27. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/dashboard/overview/pipeline_status.py +0 -0
  28. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/dashboard/overview/project_banner.py +0 -0
  29. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/dashboard/overview/quick_actions.py +0 -0
  30. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/dashboard/overview/recent_runs.py +0 -0
  31. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/dashboard/overview/tab.py +0 -0
  32. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/dashboard/page.py +0 -0
  33. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/data/__init__.py +0 -0
  34. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/data/_common.py +0 -0
  35. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/data/download/__init__.py +0 -0
  36. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/data/download/tab.py +0 -0
  37. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/data/helpers.py +0 -0
  38. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/data/page.py +0 -0
  39. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/data/preview/__init__.py +0 -0
  40. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/data/preview/tab.py +0 -0
  41. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/data/upload/__init__.py +0 -0
  42. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/data/upload/tab.py +0 -0
  43. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/data/verify/__init__.py +0 -0
  44. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/data/verify/tab.py +0 -0
  45. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/export/__init__.py +0 -0
  46. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/export/page.py +0 -0
  47. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/export/weights/__init__.py +0 -0
  48. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/export/weights/exporter.py +0 -0
  49. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/export/weights/settings.py +0 -0
  50. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/inference/__init__.py +0 -0
  51. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/inference/_common.py +0 -0
  52. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/inference/data/__init__.py +0 -0
  53. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/inference/data/tab.py +0 -0
  54. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/inference/model/__init__.py +0 -0
  55. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/inference/model/tab.py +0 -0
  56. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/inference/page.py +0 -0
  57. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/inference/run/__init__.py +0 -0
  58. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/inference/run/detection.py +0 -0
  59. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/inference/run/tab.py +0 -0
  60. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/inference/run/video.py +0 -0
  61. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/inference/solution/__init__.py +0 -0
  62. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/inference/solution/tab.py +0 -0
  63. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/model/__init__.py +0 -0
  64. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/model/_common.py +0 -0
  65. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/model/advanced/__init__.py +0 -0
  66. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/model/advanced/tab.py +0 -0
  67. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/model/architecture/__init__.py +0 -0
  68. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/model/architecture/tab.py +0 -0
  69. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/model/augment/__init__.py +0 -0
  70. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/model/augment/tab.py +0 -0
  71. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/model/hyperparams/__init__.py +0 -0
  72. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/model/hyperparams/tab.py +0 -0
  73. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/model/page.py +0 -0
  74. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/model/utils/__init__.py +0 -0
  75. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/model/utils/config.py +0 -0
  76. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/training/__init__.py +0 -0
  77. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/training/_common.py +0 -0
  78. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/training/launch/__init__.py +0 -0
  79. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/training/launch/controls.py +0 -0
  80. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/training/launch/dialogs.py +0 -0
  81. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/training/launch/preflight.py +0 -0
  82. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/training/launch/runner.py +0 -0
  83. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/training/launch/tab.py +0 -0
  84. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/training/monitor/__init__.py +0 -0
  85. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/training/monitor/checkpoints.py +0 -0
  86. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/training/monitor/curves.py +0 -0
  87. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/training/monitor/dashboard.py +0 -0
  88. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/training/monitor/gt_verification.py +0 -0
  89. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/training/monitor/log_viewer.py +0 -0
  90. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/training/monitor/parsers.py +0 -0
  91. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/training/monitor/run_meta.py +0 -0
  92. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/training/monitor/tab.py +0 -0
  93. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/training/monitor/visualizations.py +0 -0
  94. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/pages/training/page.py +0 -0
  95. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/utils/__init__.py +0 -0
  96. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/utils/config.py +0 -0
  97. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/utils/device.py +0 -0
  98. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/utils/filesystem.py +0 -0
  99. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/utils/jobs.py +0 -0
  100. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio/utils/training_hooks.py +0 -0
  101. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio.egg-info/dependency_links.txt +0 -0
  102. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio.egg-info/entry_points.txt +0 -0
  103. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio.egg-info/requires.txt +0 -0
  104. {flashstudio-0.1.4 → flashstudio-0.1.6}/flashstudio.egg-info/top_level.txt +0 -0
  105. {flashstudio-0.1.4 → flashstudio-0.1.6}/setup.cfg +0 -0
  106. {flashstudio-0.1.4 → flashstudio-0.1.6}/tests/test_app.py +0 -0
  107. {flashstudio-0.1.4 → flashstudio-0.1.6}/tests/test_cli.py +0 -0
  108. {flashstudio-0.1.4 → flashstudio-0.1.6}/tests/test_constants.py +0 -0
  109. {flashstudio-0.1.4 → flashstudio-0.1.6}/tests/test_launcher.py +0 -0
  110. {flashstudio-0.1.4 → flashstudio-0.1.6}/tests/test_pipeline_flow.py +0 -0
  111. {flashstudio-0.1.4 → flashstudio-0.1.6}/tests/test_save_dir_compat.py +0 -0
@@ -0,0 +1,109 @@
1
+ Metadata-Version: 2.4
2
+ Name: flashstudio
3
+ Version: 0.1.6
4
+ Summary: Interactive Training & Inference UI for FlashDet — runs on Google Colab
5
+ Author: Gaurav14cs17
6
+ License: Apache-2.0
7
+ Project-URL: Homepage, https://github.com/FlashVision/FlashStudio
8
+ Project-URL: Repository, https://github.com/FlashVision/FlashStudio
9
+ Keywords: object-detection,flashdet,training,inference,ui,colab
10
+ Classifier: Development Status :: 3 - Alpha
11
+ Classifier: Intended Audience :: Science/Research
12
+ Classifier: License :: OSI Approved :: Apache Software License
13
+ Classifier: Programming Language :: Python :: 3
14
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
15
+ Requires-Python: >=3.10
16
+ Description-Content-Type: text/markdown
17
+ Requires-Dist: streamlit>=1.28.0
18
+ Requires-Dist: plotly>=5.0
19
+ Requires-Dist: pandas>=1.5
20
+ Requires-Dist: pillow>=9.0
21
+ Requires-Dist: numpy>=1.21
22
+ Requires-Dist: pyngrok>=6.0
23
+ Requires-Dist: opencv-python>=4.5
24
+ Requires-Dist: pyyaml>=6.0
25
+ Requires-Dist: flashdet
26
+ Provides-Extra: full
27
+ Requires-Dist: pyngrok>=6.0; extra == "full"
28
+ Requires-Dist: torch>=2.0; extra == "full"
29
+ Requires-Dist: opencv-python>=4.5; extra == "full"
30
+ Requires-Dist: flashdet[export]; extra == "full"
31
+ Provides-Extra: colab
32
+ Requires-Dist: pyngrok>=6.0; extra == "colab"
33
+ Provides-Extra: dev
34
+ Requires-Dist: ruff; extra == "dev"
35
+ Requires-Dist: pytest; extra == "dev"
36
+ Requires-Dist: pytest-cov; extra == "dev"
37
+
38
+ # FlashStudio
39
+
40
+ **Interactive Training & Inference UI for FlashDet**
41
+
42
+ ---
43
+
44
+ ## Install
45
+
46
+ ```bash
47
+ pip install flashstudio
48
+ pip install git+https://github.com/FlashVision/FlashDet.git
49
+ ```
50
+
51
+ ## Quick Start
52
+
53
+ ```bash
54
+ # Launch locally
55
+ flashstudio
56
+
57
+ # Or with Python
58
+ from flashstudio import launch
59
+ launch()
60
+ ```
61
+
62
+ ## Google Colab
63
+
64
+ ```python
65
+ !pip install flashstudio
66
+ !pip install git+https://github.com/FlashVision/FlashDet.git
67
+
68
+ from flashstudio import launch
69
+ launch(ngrok_token="YOUR_TOKEN")
70
+ ```
71
+
72
+ Get a free ngrok token at: https://dashboard.ngrok.com/get-started/your-authtoken
73
+
74
+ ## Features
75
+
76
+ - **Training** — Launch and monitor FlashDet training with live loss curves
77
+ - **Inference** — Run detection on images/video with 17 built-in solutions
78
+ - **Model Config** — FlashDet (Pico → X) + YOLOv8/v9/v10/v11/YOLOX
79
+ - **Data** — Upload datasets or download from FlashDet registry
80
+ - **Export** — ONNX export with FP16 support
81
+ - **Dashboard** — Project overview with recent runs and metrics
82
+
83
+ ## Supported Models
84
+
85
+ | Model | Params | Use Case |
86
+ |-------|--------|----------|
87
+ | FlashDet-Pico | ~298K | Edge / MCU |
88
+ | FlashDet-Nano | ~790K | Embedded / IoT |
89
+ | FlashDet-Small | ~1.8M | General purpose |
90
+ | FlashDet-Medium | ~3.6M | High accuracy |
91
+ | FlashDet-Large | ~5.8M | High accuracy |
92
+ | FlashDet-X | ~9.0M | Server / Max accuracy |
93
+
94
+ ## Requirements
95
+
96
+ - Python >= 3.10
97
+ - FlashDet (for training/inference)
98
+ - ngrok account (free, for Colab)
99
+ - GPU recommended for training
100
+
101
+ ## Links
102
+
103
+ - GitHub: https://github.com/FlashVision/FlashStudio
104
+ - FlashDet: https://github.com/FlashVision/FlashDet
105
+ - Organization: https://flashvision.github.io
106
+
107
+ ## License
108
+
109
+ Apache-2.0
@@ -0,0 +1,72 @@
1
+ # FlashStudio
2
+
3
+ **Interactive Training & Inference UI for FlashDet**
4
+
5
+ ---
6
+
7
+ ## Install
8
+
9
+ ```bash
10
+ pip install flashstudio
11
+ pip install git+https://github.com/FlashVision/FlashDet.git
12
+ ```
13
+
14
+ ## Quick Start
15
+
16
+ ```bash
17
+ # Launch locally
18
+ flashstudio
19
+
20
+ # Or with Python
21
+ from flashstudio import launch
22
+ launch()
23
+ ```
24
+
25
+ ## Google Colab
26
+
27
+ ```python
28
+ !pip install flashstudio
29
+ !pip install git+https://github.com/FlashVision/FlashDet.git
30
+
31
+ from flashstudio import launch
32
+ launch(ngrok_token="YOUR_TOKEN")
33
+ ```
34
+
35
+ Get a free ngrok token at: https://dashboard.ngrok.com/get-started/your-authtoken
36
+
37
+ ## Features
38
+
39
+ - **Training** — Launch and monitor FlashDet training with live loss curves
40
+ - **Inference** — Run detection on images/video with 17 built-in solutions
41
+ - **Model Config** — FlashDet (Pico → X) + YOLOv8/v9/v10/v11/YOLOX
42
+ - **Data** — Upload datasets or download from FlashDet registry
43
+ - **Export** — ONNX export with FP16 support
44
+ - **Dashboard** — Project overview with recent runs and metrics
45
+
46
+ ## Supported Models
47
+
48
+ | Model | Params | Use Case |
49
+ |-------|--------|----------|
50
+ | FlashDet-Pico | ~298K | Edge / MCU |
51
+ | FlashDet-Nano | ~790K | Embedded / IoT |
52
+ | FlashDet-Small | ~1.8M | General purpose |
53
+ | FlashDet-Medium | ~3.6M | High accuracy |
54
+ | FlashDet-Large | ~5.8M | High accuracy |
55
+ | FlashDet-X | ~9.0M | Server / Max accuracy |
56
+
57
+ ## Requirements
58
+
59
+ - Python >= 3.10
60
+ - FlashDet (for training/inference)
61
+ - ngrok account (free, for Colab)
62
+ - GPU recommended for training
63
+
64
+ ## Links
65
+
66
+ - GitHub: https://github.com/FlashVision/FlashStudio
67
+ - FlashDet: https://github.com/FlashVision/FlashDet
68
+ - Organization: https://flashvision.github.io
69
+
70
+ ## License
71
+
72
+ Apache-2.0
@@ -0,0 +1,109 @@
1
+ Metadata-Version: 2.4
2
+ Name: flashstudio
3
+ Version: 0.1.6
4
+ Summary: Interactive Training & Inference UI for FlashDet — runs on Google Colab
5
+ Author: Gaurav14cs17
6
+ License: Apache-2.0
7
+ Project-URL: Homepage, https://github.com/FlashVision/FlashStudio
8
+ Project-URL: Repository, https://github.com/FlashVision/FlashStudio
9
+ Keywords: object-detection,flashdet,training,inference,ui,colab
10
+ Classifier: Development Status :: 3 - Alpha
11
+ Classifier: Intended Audience :: Science/Research
12
+ Classifier: License :: OSI Approved :: Apache Software License
13
+ Classifier: Programming Language :: Python :: 3
14
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
15
+ Requires-Python: >=3.10
16
+ Description-Content-Type: text/markdown
17
+ Requires-Dist: streamlit>=1.28.0
18
+ Requires-Dist: plotly>=5.0
19
+ Requires-Dist: pandas>=1.5
20
+ Requires-Dist: pillow>=9.0
21
+ Requires-Dist: numpy>=1.21
22
+ Requires-Dist: pyngrok>=6.0
23
+ Requires-Dist: opencv-python>=4.5
24
+ Requires-Dist: pyyaml>=6.0
25
+ Requires-Dist: flashdet
26
+ Provides-Extra: full
27
+ Requires-Dist: pyngrok>=6.0; extra == "full"
28
+ Requires-Dist: torch>=2.0; extra == "full"
29
+ Requires-Dist: opencv-python>=4.5; extra == "full"
30
+ Requires-Dist: flashdet[export]; extra == "full"
31
+ Provides-Extra: colab
32
+ Requires-Dist: pyngrok>=6.0; extra == "colab"
33
+ Provides-Extra: dev
34
+ Requires-Dist: ruff; extra == "dev"
35
+ Requires-Dist: pytest; extra == "dev"
36
+ Requires-Dist: pytest-cov; extra == "dev"
37
+
38
+ # FlashStudio
39
+
40
+ **Interactive Training & Inference UI for FlashDet**
41
+
42
+ ---
43
+
44
+ ## Install
45
+
46
+ ```bash
47
+ pip install flashstudio
48
+ pip install git+https://github.com/FlashVision/FlashDet.git
49
+ ```
50
+
51
+ ## Quick Start
52
+
53
+ ```bash
54
+ # Launch locally
55
+ flashstudio
56
+
57
+ # Or with Python
58
+ from flashstudio import launch
59
+ launch()
60
+ ```
61
+
62
+ ## Google Colab
63
+
64
+ ```python
65
+ !pip install flashstudio
66
+ !pip install git+https://github.com/FlashVision/FlashDet.git
67
+
68
+ from flashstudio import launch
69
+ launch(ngrok_token="YOUR_TOKEN")
70
+ ```
71
+
72
+ Get a free ngrok token at: https://dashboard.ngrok.com/get-started/your-authtoken
73
+
74
+ ## Features
75
+
76
+ - **Training** — Launch and monitor FlashDet training with live loss curves
77
+ - **Inference** — Run detection on images/video with 17 built-in solutions
78
+ - **Model Config** — FlashDet (Pico → X) + YOLOv8/v9/v10/v11/YOLOX
79
+ - **Data** — Upload datasets or download from FlashDet registry
80
+ - **Export** — ONNX export with FP16 support
81
+ - **Dashboard** — Project overview with recent runs and metrics
82
+
83
+ ## Supported Models
84
+
85
+ | Model | Params | Use Case |
86
+ |-------|--------|----------|
87
+ | FlashDet-Pico | ~298K | Edge / MCU |
88
+ | FlashDet-Nano | ~790K | Embedded / IoT |
89
+ | FlashDet-Small | ~1.8M | General purpose |
90
+ | FlashDet-Medium | ~3.6M | High accuracy |
91
+ | FlashDet-Large | ~5.8M | High accuracy |
92
+ | FlashDet-X | ~9.0M | Server / Max accuracy |
93
+
94
+ ## Requirements
95
+
96
+ - Python >= 3.10
97
+ - FlashDet (for training/inference)
98
+ - ngrok account (free, for Colab)
99
+ - GPU recommended for training
100
+
101
+ ## Links
102
+
103
+ - GitHub: https://github.com/FlashVision/FlashStudio
104
+ - FlashDet: https://github.com/FlashVision/FlashDet
105
+ - Organization: https://flashvision.github.io
106
+
107
+ ## License
108
+
109
+ Apache-2.0
@@ -1,4 +1,5 @@
1
1
  README.md
2
+ README_PYPI.md
2
3
  pyproject.toml
3
4
  flashstudio/__init__.py
4
5
  flashstudio/app.py
@@ -4,9 +4,9 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "flashstudio"
7
- version = "0.1.4"
7
+ version = "0.1.6"
8
8
  description = "Interactive Training & Inference UI for FlashDet — runs on Google Colab"
9
- readme = "README.md"
9
+ readme = "README_PYPI.md"
10
10
  license = {text = "Apache-2.0"}
11
11
  requires-python = ">=3.10"
12
12
  authors = [{name = "Gaurav14cs17"}]
@@ -1,371 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: flashstudio
3
- Version: 0.1.4
4
- Summary: Interactive Training & Inference UI for FlashDet — runs on Google Colab
5
- Author: Gaurav14cs17
6
- License: Apache-2.0
7
- Project-URL: Homepage, https://github.com/FlashVision/FlashStudio
8
- Project-URL: Repository, https://github.com/FlashVision/FlashStudio
9
- Keywords: object-detection,flashdet,training,inference,ui,colab
10
- Classifier: Development Status :: 3 - Alpha
11
- Classifier: Intended Audience :: Science/Research
12
- Classifier: License :: OSI Approved :: Apache Software License
13
- Classifier: Programming Language :: Python :: 3
14
- Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
15
- Requires-Python: >=3.10
16
- Description-Content-Type: text/markdown
17
- Requires-Dist: streamlit>=1.28.0
18
- Requires-Dist: plotly>=5.0
19
- Requires-Dist: pandas>=1.5
20
- Requires-Dist: pillow>=9.0
21
- Requires-Dist: numpy>=1.21
22
- Requires-Dist: pyngrok>=6.0
23
- Requires-Dist: opencv-python>=4.5
24
- Requires-Dist: pyyaml>=6.0
25
- Requires-Dist: flashdet
26
- Provides-Extra: full
27
- Requires-Dist: pyngrok>=6.0; extra == "full"
28
- Requires-Dist: torch>=2.0; extra == "full"
29
- Requires-Dist: opencv-python>=4.5; extra == "full"
30
- Requires-Dist: flashdet[export]; extra == "full"
31
- Provides-Extra: colab
32
- Requires-Dist: pyngrok>=6.0; extra == "colab"
33
- Provides-Extra: dev
34
- Requires-Dist: ruff; extra == "dev"
35
- Requires-Dist: pytest; extra == "dev"
36
- Requires-Dist: pytest-cov; extra == "dev"
37
-
38
- <p align="center">
39
- <img src="https://raw.githubusercontent.com/FlashVision/FlashStudio/main/assets/logo.png" width="200" alt="FlashStudio Logo">
40
- </p>
41
-
42
- <h1 align="center">FlashStudio</h1>
43
-
44
- <p align="center">
45
- <a href="https://pypi.org/project/flashstudio/"><img src="https://badge.fury.io/py/flashstudio.svg" alt="PyPI version"></a>
46
- <img src="https://img.shields.io/badge/python-3.9+-blue.svg?logo=python&logoColor=white" alt="Python 3.9+">
47
- <img src="https://img.shields.io/badge/Streamlit-UI-FF4B4B?logo=streamlit&logoColor=white" alt="Streamlit">
48
- <img src="https://img.shields.io/badge/FlashDet-Powered-00CCFF?logo=lightning&logoColor=white" alt="FlashDet">
49
- <img src="https://img.shields.io/badge/License-Apache%202.0-green.svg" alt="License">
50
- </p>
51
-
52
- <p align="center">
53
- <b>Interactive Training & Inference UI for FlashDet — runs locally or on Google Colab with a Streamlit interface.</b>
54
- </p>
55
-
56
- <p align="center">
57
- <img src="docs/mockups/flashstudio_streamlit_mockup.png" width="800" alt="FlashStudio UI"/>
58
- </p>
59
-
60
- ## Features
61
-
62
- - 🏋️ **Training Dashboard** — Real-time monitoring with live loss curves, per-epoch visualizations, GT verification
63
- - 🧠 **Model Config** — All 6 FlashDet sizes + YOLOv8/v9/v10/v11/YOLOX with accurate params
64
- - 🔍 **Inference Pipeline** — 4-step wizard: Model → Data → Zone → Run (17 solutions, 6 trackers)
65
- - 📤 **Export** — ONNX export with FP16 auto-generated weights
66
- - 📦 **Data** — Native `flashdet download` datasets + custom upload (COCO/VOC/YOLO formats)
67
- - 📊 **Dashboard** — Overview with recent training runs from workspace
68
- - 🚀 **Colab Support** — ngrok tunneling for remote access
69
-
70
- ---
71
-
72
- ## UI Tour
73
-
74
- ### Dashboard
75
- Project overview with key metrics (GPU, Dataset, Model, mAP), pipeline status, quick actions, and recent training runs.
76
-
77
- <p align="center">
78
- <img src="demos/01_dashboard.gif" width="800" alt="Dashboard"/>
79
- </p>
80
-
81
- ### Data Management
82
- Upload datasets (ZIP/TAR), download from `flashdet` registry, preview images with navigation, and verify annotations.
83
-
84
- <p align="center">
85
- <img src="demos/02_data.gif" width="800" alt="Data Management"/>
86
- </p>
87
-
88
- ### Model Configuration
89
- Choose from 6 FlashDet sizes + YOLO variants. Configure hyperparameters, augmentations, and advanced settings (memory optimization, distributed training).
90
-
91
- <p align="center">
92
- <img src="demos/03_model.gif" width="800" alt="Model Configuration"/>
93
- </p>
94
-
95
- ### Training
96
- Create experiments, launch training with preflight checks, and monitor runs with real-time curves, visualizations, ground truth, logs, and file browser.
97
-
98
- <p align="center">
99
- <img src="demos/04_training.gif" width="800" alt="Training"/>
100
- </p>
101
-
102
- ### Export
103
- Export trained models to ONNX format with configurable opset, image size, and dynamic batching. Auto-detects saved weights from training.
104
-
105
- <p align="center">
106
- <img src="demos/05_export.gif" width="800" alt="Export"/>
107
- </p>
108
-
109
- ### Inference
110
- Full inference pipeline with 17 built-in solutions (object counting, speed estimation, heatmaps, security alarms, etc.). Interactive zone drawing with Polygon, Rectangle, and Line tools.
111
-
112
- <p align="center">
113
- <img src="demos/06_inference.gif" width="800" alt="Inference"/>
114
- </p>
115
-
116
- ---
117
-
118
- ## Installation
119
-
120
- ### Step 1: Install FlashStudio
121
-
122
- ```bash
123
- pip install flashstudio
124
- ```
125
-
126
- ### Step 2: Install FlashDet (required for training/inference)
127
-
128
- ```bash
129
- pip install git+https://github.com/FlashVision/FlashDet.git
130
- ```
131
-
132
- ### Development install (from source)
133
-
134
- ```bash
135
- git clone https://github.com/FlashVision/FlashStudio.git
136
- cd FlashStudio
137
- pip install -e .
138
- ```
139
-
140
- ---
141
-
142
- ## Usage — Local Machine
143
-
144
- ### Option 1: CLI
145
-
146
- ```bash
147
- flashstudio --port 8501
148
- ```
149
-
150
- ### Option 2: Streamlit directly
151
-
152
- ```bash
153
- cd FlashStudio
154
- streamlit run flashstudio/app.py
155
- ```
156
-
157
- Then open **http://localhost:8501** in your browser.
158
-
159
- ---
160
-
161
- ## Usage — Google Colab
162
-
163
- ### Step 1: Install packages
164
-
165
- ```python
166
- !pip install flashstudio
167
- !pip install git+https://github.com/FlashVision/FlashDet.git
168
- ```
169
-
170
- ### Step 2: Get ngrok token (free, one-time setup)
171
-
172
- FlashStudio uses [ngrok](https://ngrok.com) to create a public URL for the Streamlit UI in Colab.
173
-
174
- 1. **Sign up** (free): https://dashboard.ngrok.com/signup
175
- 2. **Get your auth token**: https://dashboard.ngrok.com/get-started/your-authtoken
176
- 3. Copy the token (looks like `2xAbC1234_something...`)
177
-
178
- ### Step 3: Launch
179
-
180
- ```python
181
- from flashstudio import launch
182
-
183
- # Pass your ngrok token
184
- launch(ngrok_token="YOUR_NGROK_TOKEN_HERE")
185
- ```
186
-
187
- Or set it as an environment variable:
188
-
189
- ```python
190
- import os
191
- os.environ["NGROK_TOKEN"] = "YOUR_NGROK_TOKEN_HERE"
192
-
193
- from flashstudio import launch
194
- launch()
195
- ```
196
-
197
- ### Step 4: Open the URL
198
-
199
- After launching, you'll see output like:
200
-
201
- ```
202
- ============================================================
203
- FlashStudio is running!
204
- Local: http://localhost:8501
205
- Public: https://abc123.ngrok-free.app
206
- ============================================================
207
- ```
208
-
209
- Click the **Public URL** to open FlashStudio in a new tab.
210
-
211
- ---
212
-
213
- ## Google Colab Notebooks (Ready to Use)
214
-
215
- | Notebook | Description | Link |
216
- |----------|-------------|------|
217
- | Training | Train FlashDet models | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/FlashVision/FlashStudio/blob/main/notebooks/FlashStudio_Train.ipynb) |
218
- | Inference | Run detection on images/video | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/FlashVision/FlashStudio/blob/main/notebooks/FlashStudio_Inference.ipynb) |
219
-
220
- ---
221
-
222
- ## Supported Models
223
-
224
- | Model | Params | Best For |
225
- |-------|--------|----------|
226
- | FlashDet-Pico | ~298K | Edge / MCU |
227
- | FlashDet-Nano | ~790K | Embedded / IoT |
228
- | FlashDet-Small | ~1.8M | General purpose |
229
- | FlashDet-Medium | ~3.6M | High accuracy |
230
- | FlashDet-Large | ~5.8M | High accuracy |
231
- | FlashDet-X | ~9.0M | Max accuracy / Server |
232
- | YOLOv8/v9/v10/v11/YOLOX | Varies | General YOLO |
233
-
234
- ---
235
-
236
- ## Architecture
237
-
238
- ```
239
- FlashStudio/
240
- ├── flashstudio/
241
- │ ├── __init__.py # Package init + launch() export
242
- │ ├── app.py # Main Streamlit app (wizard flow)
243
- │ ├── launcher.py # Colab/local launcher with ngrok
244
- │ ├── cli.py # CLI entrypoint
245
- │ ├── constants.py # Centralized constants (paths, defaults, models)
246
- │ │
247
- │ ├── pages/ # Each page is a sub-package
248
- │ │ ├── dashboard/
249
- │ │ │ ├── page.py # Main dashboard render
250
- │ │ │ ├── pipeline_status.py # Pipeline status cards
251
- │ │ │ └── recent_runs.py # Recent training runs table
252
- │ │ ├── data/
253
- │ │ │ ├── page.py # Main data page render
254
- │ │ │ ├── upload.py # Upload tab (ZIP/TAR + class config)
255
- │ │ │ ├── download.py # Download tab (quick start + registries)
256
- │ │ │ ├── preview.py # Preview tab (image grid + annotations)
257
- │ │ │ ├── verify.py # Verify tab (dataset validation)
258
- │ │ │ └── helpers.py # Shared helpers (extract, detect, convert)
259
- │ │ ├── model/
260
- │ │ │ ├── page.py # Main model page render
261
- │ │ │ ├── architecture.py # Architecture tab (FlashDet/YOLO selection)
262
- │ │ │ ├── hyperparams.py # Hyperparameters tab
263
- │ │ │ ├── augmentation.py # Augmentation tab
264
- │ │ │ ├── advanced.py # Advanced tab (memory, distributed)
265
- │ │ │ └── summary.py # Config summary bar + YAML save/load
266
- │ │ ├── training/
267
- │ │ │ ├── page.py # Main training page render
268
- │ │ │ ├── _common.py # Shared utilities (_get_save_dir)
269
- │ │ │ ├── launch/ # Launch sub-package
270
- │ │ │ │ ├── tab.py # Launch tab entry point
271
- │ │ │ │ ├── preflight.py # Pre-flight checks
272
- │ │ │ │ ├── runner.py # FlashDet Trainer subprocess
273
- │ │ │ │ ├── controls.py # Start/stop/pause/resume buttons
274
- │ │ │ │ └── dialogs.py # Clean/resume/config dialogs
275
- │ │ │ └── monitor/ # Monitor sub-package
276
- │ │ │ ├── tab.py # Monitor tab entry point
277
- │ │ │ ├── run_meta.py # Run metadata extraction
278
- │ │ │ ├── parsers.py # CSV/log parsing
279
- │ │ │ ├── dashboard.py # Run dashboard + metrics
280
- │ │ │ ├── curves.py # Plotly training curves
281
- │ │ │ ├── visualizations.py # Epoch visualizations
282
- │ │ │ ├── gt_verification.py # Ground truth verification
283
- │ │ │ ├── log_viewer.py # Full log viewer
284
- │ │ │ └── checkpoints.py # File browser + checkpoints
285
- │ │ ├── export/
286
- │ │ │ └── page.py # Export page (ONNX/TorchScript)
287
- │ │ └── inference/
288
- │ │ ├── page.py # Main inference page render
289
- │ │ ├── model_tab.py # Model selection tab
290
- │ │ ├── data_tab.py # Data input tab (images/video/RTSP)
291
- │ │ ├── solution_tab.py # Solution selection + zone drawing
292
- │ │ ├── run_tab.py # Run tab + results display
293
- │ │ ├── detection.py # Detection utilities (real + demo)
294
- │ │ └── video.py # Video/image inference runners
295
- │ │
296
- │ ├── components/
297
- │ │ ├── sidebar.py # Navigation sidebar
298
- │ │ ├── styles.py # Custom CSS + UI helpers
299
- │ │ ├── wizard.py # Step indicator + navigation
300
- │ │ ├── project_manager.py # Project CRUD + state persistence
301
- │ │ └── zone_drawer/ # Interactive canvas zone drawing
302
- │ │
303
- │ └── utils/
304
- │ ├── __init__.py # Shared helpers (defaults, state, flash)
305
- │ ├── device.py # GPU/environment detection
306
- │ ├── jobs.py # Background process tracking
307
- │ ├── filesystem.py # Directory size/listing utilities
308
- │ ├── config.py # Training config build/save/load
309
- │ └── training_hooks.py # FlashDet training callbacks
310
- │
311
- ├── tests/ # Pytest test suite
312
- │ ├── conftest.py # Shared fixtures
313
- │ ├── test_constants.py # Constants validation
314
- │ ├── test_cli.py # CLI tests
315
- │ ├── test_utils/ # Utils sub-package tests
316
- │ │ ├── test_init.py
317
- │ │ ├── test_device.py
318
- │ │ ├── test_filesystem.py
319
- │ │ ├── test_config.py
320
- │ │ └── test_jobs.py
321
- │ ├── test_pages/ # Page logic tests
322
- │ │ └── test_training_parsers.py
323
- │ └── test_components/
324
- │ └── test_project_manager.py
325
- │
326
- ├── .github/workflows/ci.yml # GitHub Actions CI
327
- ├── notebooks/
328
- ├── .streamlit/config.toml
329
- ├── pyproject.toml
330
- └── README.md
331
- ```
332
-
333
- ---
334
-
335
- ## Troubleshooting
336
-
337
- ### `ModuleNotFoundError: No module named 'pyngrok'`
338
-
339
- ```bash
340
- pip install --upgrade flashstudio
341
- ```
342
-
343
- ### ngrok authentication error (`ERR_NGROK_4018`)
344
-
345
- You need an ngrok auth token. Get one free at:
346
- https://dashboard.ngrok.com/get-started/your-authtoken
347
-
348
- Then pass it to `launch(ngrok_token="your_token")`.
349
-
350
- ### Streamlit port already in use
351
-
352
- ```bash
353
- # Kill existing Streamlit processes
354
- pkill -f "streamlit run"
355
-
356
- # Then restart
357
- flashstudio --port 8501
358
- ```
359
-
360
- ---
361
-
362
- ## Requirements
363
-
364
- - Python >= 3.9
365
- - FlashDet (`pip install git+https://github.com/FlashVision/FlashDet.git`)
366
- - ngrok account (free) for Google Colab usage
367
- - GPU recommended for training (T4 or better)
368
-
369
- ## License
370
-
371
- Apache-2.0