Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
146 commits
Select commit Hold shift + click to select a range
5eda2fc
add new nworkers tests for perfs
guillaume-byte May 21, 2026
a4cf489
Stop DataLoaderInterface from blocking on pause_controller during ite…
May 27, 2026
580c80f
Move pause_at_step trigger from DataLoaderInterface into GuardContext
May 28, 2026
41b76b8
Remove dead DataLoaderInterface._wait_if_paused
May 28, 2026
d0577d0
ws-detection: default num_workers=2, add num_workers benchmark harness
May 28, 2026
8c501f8
Drop now-unused threading/pause_controller imports from dataloader_in…
May 28, 2026
9f23295
ws-detection: drop bench.py/run_bench.sh from the branch
May 28, 2026
5ec83e5
Revert ws-detection example changes; keep this branch framework-only
May 28, 2026
d240dff
Fix ws-detection example: restore runnable training loop
May 28, 2026
08b89eb
Merge pull request #180 from GrayboxTech/fix-ws-det
AlexGrayBox May 28, 2026
90f6fde
Merge pull request #181 from GrayboxTech/framework-intergrations/para…
AlexGrayBox May 28, 2026
69edb2b
fix oom bug on break by slice (#186)
AlexGrayBox Jun 4, 2026
b799aa8
179 audit and export user interactions success and failure to json an…
guillaume-byte Jun 4, 2026
b210dd9
184 dataframe granularity (#187)
guillaume-byte Jun 4, 2026
8f8d5f1
Ddp support wip (#185)
guillaume-byte Jun 4, 2026
3f44834
Merge branch 'dev' of https://github.com/GrayboxTech/weightslab into dev
guillaume-byte Jun 4, 2026
416774f
Fix lint code quality issue
guillaume-byte Jun 4, 2026
58f72b3
Fix ruff and vulture code quality issue
guillaume-byte Jun 4, 2026
834ac7f
fix utests after merging
guillaume-byte Jun 5, 2026
f6d7904
Code quality issues
guillaume-byte Jun 5, 2026
e43aa1b
Final code quality check
guillaume-byte Jun 5, 2026
eef7a21
change ci code quality as important for CI
guillaume-byte Jun 5, 2026
1557f9f
Fix dev release CI
guillaume-byte Jun 5, 2026
9953476
update release note format
guillaume-byte Jun 5, 2026
bed3e0f
Improve release notes: custom template with PR links, contributor pro…
guillaume-byte Jun 5, 2026
e00bd5c
Final release note fix
guillaume-byte Jun 5, 2026
1258ebd
fix instance_ids bugs matching for batch target format (targets=[bb_A…
guillaume-byte Jun 5, 2026
4c88585
188 logger granularity and structure (#189)
guillaume-byte Jun 5, 2026
7cf5c0c
revert merging PR #185
guillaume-byte Jun 5, 2026
861911c
Fix bug from reverted Merged Conflicts
guillaume-byte Jun 5, 2026
24bf58f
remove hardcoded path from config
guillaume-byte Jun 8, 2026
3383035
fix iou metric name
guillaume-byte Jun 8, 2026
685c88f
fix merged conflicts error on fct name
guillaume-byte Jun 8, 2026
10a65ff
Remove hardcoded value from src ModelInterface
guillaume-byte Jun 8, 2026
69e0936
Merge branch 'main' into dev
guillaume-byte Jun 8, 2026
456ffb1
fix merged conflicts function name
guillaume-byte Jun 8, 2026
590b6ac
Merge branch 'dev' of https://github.com/GrayboxTech/weightslab into dev
guillaume-byte Jun 8, 2026
f411225
Add weightslab.integrations.ultralytics SDK (#191)
AlexGrayBox Jun 9, 2026
6cc624b
fix useless imports and vars: code quality issues
guillaume-byte Jun 9, 2026
c5f0807
Force val to letterbox to (imgsz, imgsz) like train
Jun 9, 2026
1974d3b
Source val rect from ledger config; default False
Jun 9, 2026
901da04
small fixes around certs. and windows; and add ul deps in wl
guillaume-byte Jun 9, 2026
ca8e38b
fix ul deps version
guillaume-byte Jun 9, 2026
f3d5128
fix quotes issue
guillaume-byte Jun 9, 2026
3459058
Add geometry test for val rect-mode opt-in
Jun 9, 2026
12c91ef
Revert "Add geometry test for val rect-mode opt-in"
Jun 9, 2026
809258c
Merge branch 'main' into dev
guillaume-byte Jun 9, 2026
ed2d64b
Fix failing unit tests and dataloader infinite loop
guillaume-byte Jun 10, 2026
a9a2165
Rework UI onboarding CLI: secure-by-default launch, cleanup, banner help
guillaume-byte Jun 10, 2026
e2f65b0
Merge branch 'rework-ui-launch-onboarding' into dev
guillaume-byte Jun 10, 2026
aae4b65
Make CI run the real test suite and fix/triage dev test failures
guillaume-byte Jun 10, 2026
bea6314
Make WEIGHTSLAB_CERTS_DIR the single source of truth for TLS/auth
guillaume-byte Jun 10, 2026
9e8a067
Merge branch 'rework-ui-launch-onboarding' into dev (certs single sou…
guillaume-byte Jun 10, 2026
e985a66
Keep a valid certs bind-mount in unsecured/--no-certs launches
guillaume-byte Jun 10, 2026
6a09909
Add `weightslab example start` to run the bundled classification example
guillaume-byte Jun 10, 2026
314c60c
fix ui docker bridge and simplify certs
guillaume-byte Jun 10, 2026
f40792f
add torchmetrics deps for cls example
guillaume-byte Jun 10, 2026
2e4778d
fix onboarding certs issue and update doc and readme
guillaume-byte Jun 10, 2026
912c03c
Fix certs issues and related utests
guillaume-byte Jun 11, 2026
af6846c
Fix certs issues; change cls config; and fix issues with hist and age…
guillaume-byte Jun 11, 2026
579d8cc
Refactor wl examples syntax
guillaume-byte Jun 11, 2026
0c7f1c0
fix permissions issues and docker v1
guillaume-byte Jun 12, 2026
8695667
fix exec bits from exec files
guillaume-byte Jun 12, 2026
12f5130
fix cmds tests
guillaume-byte Jun 12, 2026
57c8313
Integrate 2d 3d point cloud detection usecase with Lidar (#199)
guillaume-byte Jun 12, 2026
5432688
fix code quality
guillaume-byte Jun 12, 2026
6ed796f
fix code quality
guillaume-byte Jun 12, 2026
f9a041a
Merge origin/main into dev (v1.2.1 + CHANGELOG)
guillaume-byte Jun 12, 2026
0927cce
Add missing source files skipped by data/ gitignore rule
guillaume-byte Jun 12, 2026
1e23d37
Fix code quality issue
guillaume-byte Jun 12, 2026
8076c25
fix utests
guillaume-byte Jun 12, 2026
73fca0c
Fix 4 ui_docker_bridge unit tests broken by --certs flag refactor
guillaume-byte Jun 12, 2026
19f2f16
Exclude heavy blob columns from histogram/metadata sweeps
Jun 14, 2026
1bbd971
Python version tests in workflows
guillaume-byte Jun 15, 2026
67f90a5
remove useless certs
guillaume-byte Jun 15, 2026
8deb810
update gitignore and add debug print exc
guillaume-byte Jun 15, 2026
e38c4f4
add docker initialization materials
guillaume-byte Jun 15, 2026
72d682e
fix logger prints format and spam
guillaume-byte Jun 15, 2026
3b88c59
maximum resolution set to 360p by default
guillaume-byte Jun 15, 2026
06e2b28
Merge branch 'main' into dev
guillaume-byte Jun 15, 2026
6c3e1d5
add auto start in examples
guillaume-byte Jun 16, 2026
59a45bc
Fix main process issues with windows and logs; and fix ultralytics in…
guillaume-byte Jun 16, 2026
058f50b
Merge branch 'dev' of https://github.com/GrayboxTech/weightslab into dev
guillaume-byte Jun 16, 2026
117bb4e
remove useless dir
guillaume-byte Jun 16, 2026
ff662f2
Disable the WatchDog; fix evaluate feature in nograd mode and no guar…
guillaume-byte Jun 17, 2026
0bee476
Fix code quality issue
guillaume-byte Jun 17, 2026
695dc5a
Merge branch 'main' into dev
guillaume-byte Jun 17, 2026
7b06e0f
Fix UL issue with custom EMA and evaluation feature
guillaume-byte Jun 17, 2026
6fff830
Merge branch 'dev' of https://github.com/GrayboxTech/weightslab into dev
guillaume-byte Jun 17, 2026
cfdbd3f
Merge branch 'main' into dev
guillaume-byte Jun 17, 2026
58ce5ee
Allow to run CI from custom branch with correct trigger flag in commit
guillaume-byte Jun 18, 2026
093f646
Merge branch 'dev' of https://github.com/GrayboxTech/weightslab into dev
guillaume-byte Jun 18, 2026
4e84dc0
Fix pandas incompatible-dtype FutureWarning in dataframe merge/upsert
guillaume-byte Jun 18, 2026
997e914
Add agent memory to repo for user
guillaume-byte Jun 18, 2026
7698e20
fix prediction normalization issues
guillaume-byte Jun 18, 2026
ee9d6e6
Fix ledgered parameters issues
guillaume-byte Jun 18, 2026
61bc12a
Fix new exp. hash after pause 4 the first time
guillaume-byte Jun 18, 2026
eca9e25
[skip ci] fix parameters wrapping in examples
guillaume-byte Jun 18, 2026
ceef8c3
Merge branch 'main' into dev
guillaume-byte Jun 18, 2026
3751825
V1.3 UI optimization and new features (#214)
guillaume-byte Jun 26, 2026
1a0f78e
add log for user
guillaume-byte Jun 26, 2026
df00cd4
Merge branch 'main' into dev
guillaume-byte Jun 26, 2026
8d3a573
Fix categorical upsert failing when origin column has new value
guillaume-byte Jun 29, 2026
7c97491
Merge branch 'main' into dev
guillaume-byte Jun 29, 2026
919bf93
Change logger msg if docker not installed to be more visible
guillaume-byte Jun 29, 2026
9508dc1
disable loading config by default
guillaume-byte Jun 30, 2026
529a2d8
fix: release notes generation (empty PR list, README noise, CLI banner)
guillaume-byte Jul 2, 2026
565e9e2
237 agent improvements (#240)
guillaume-byte Jul 6, 2026
9101ee6
Add hist. generation on categorical values (#239)
guillaume-byte Jul 6, 2026
b154d35
228 weightslab examples and documentation revamp (#238)
guillaume-byte Jul 6, 2026
2e77279
Fix merged conflicts issue
guillaume-byte Jul 6, 2026
2b9fb9b
Allow agent to change WL HP
guillaume-byte Jul 6, 2026
2806262
Update CHANGELOG
guillaume-byte Jul 6, 2026
ff91626
Add user commands in doc
guillaume-byte Jul 6, 2026
c05a5b8
add weightslab ui launch args to image repo and version, and fix cert…
guillaume-byte Jul 6, 2026
8c57820
Release CI: publish dev pre-releases from dev-branch 'dev' tags
guillaume-byte Jul 6, 2026
19f93a2
docs: document watch_or_edit signal wrapping (logger + user functions)
guillaume-byte Jul 6, 2026
fb8e0b7
Fix version resolver from pypi version / git tag
guillaume-byte Jul 6, 2026
3f4289f
Update CHANGELOG
guillaume-byte Jul 6, 2026
724b94e
Bundle docker/ and examples/ inside the weightslab package
guillaume-byte Jul 6, 2026
eac08ea
Fix truncated hash reply
guillaume-byte Jul 6, 2026
8a30567
Merge branch 'main' into dev
guillaume-byte Jul 6, 2026
e542169
Fix crash on empty detection labels in _process_sample_row
guillaume-byte Jul 6, 2026
62076b8
Update CHANGELOG
guillaume-byte Jul 7, 2026
d1c3cca
Add agent cmd to show user current config used
guillaume-byte Jul 7, 2026
e644910
Update CHANGELOG
guillaume-byte Jul 7, 2026
451feab
Merge branch 'main' into dev
guillaume-byte Jul 7, 2026
a936add
fix logger error
guillaume-byte Jul 8, 2026
053fe61
Merge branch 'dev' of https://github.com/GrayboxTech/weightslab into dev
guillaume-byte Jul 8, 2026
faffb72
Fix bugs with instances ids and also with h5 flush order
guillaume-byte Jul 8, 2026
a0d3f51
backend: advertise weightslab version to the UI
guillaume-byte Jul 10, 2026
98eaf3e
restart action from UI - dev mode only (#246)
guillaume-byte Jul 10, 2026
532824e
examples: rename ws-* directories to wl-* and update references (#247)
guillaume-byte Jul 10, 2026
c71e6f1
Torch collab examples (#248)
guillaume-byte Jul 10, 2026
2db142c
fix(ledger): Proxy[key] returns a live value proxy like .get() (#249)
guillaume-byte Jul 10, 2026
257de85
237 agent improvements (#245)
guillaume-byte Jul 10, 2026
e0f21eb
fix merged conflicts
guillaume-byte Jul 10, 2026
500d7ec
fix proto issues and usecase import issue
guillaume-byte Jul 10, 2026
dcd118c
Comment preds_raw from src to not keep logits in pending thread
Jul 10, 2026
97eb41c
Signal refinements: vectorized + reactive @wl.signal, overhead tuning…
AlexGrayBox Jul 10, 2026
aabe0b2
refactor loss shape cls example
guillaume-byte Jul 10, 2026
1175931
fix merged conflicts
guillaume-byte Jul 10, 2026
5764c48
fix issue with custom signals
guillaume-byte Jul 10, 2026
fc8fd1a
Update CHANGELOG
guillaume-byte Jul 10, 2026
51fa27d
Merge branch 'main' into dev
guillaume-byte Jul 10, 2026
da6eb42
Fix all-NaN float column treated as categorical in GetHistogram
guillaume-byte Jul 10, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added .coverage
Binary file not shown.
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,15 @@ venv
runs
data
MagicMock
drop
htmlcov
htmlcov-report

# Ignore hidden directories
.history
.lh
.claude
.coverage
.chat
.ai
.pytest_cache
Expand Down
2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1 +1 @@
# Changelog - 2026-07-07 v1.3.2
# Changelog - 2026-07-10 v1.3.3-dev0
29 changes: 29 additions & 0 deletions docs/_static/custom.css
Original file line number Diff line number Diff line change
Expand Up @@ -277,6 +277,35 @@ body[data-theme="dark"] .wl-only-dark {
margin-bottom: 1rem;
}

.wl-eg-cardwrap {
position: relative;
display: flex;
}

.wl-eg-cardwrap > .wl-eg-card {
flex: 1;
}

/* "Open in Colab" logo, pinned top-right, above the card link. */
.wl-eg-colab {
position: absolute;
right: 0.9rem;
top: 0.9rem;
z-index: 2;
line-height: 0;
transition: transform 0.12s;
}

.wl-eg-colab:hover {
transform: scale(1.1);
}

.wl-eg-colab img {
height: 22px;
width: 22px;
display: block;
}

.wl-eg-card {
display: flex;
flex-direction: column;
Expand Down
49 changes: 34 additions & 15 deletions docs/_static/examples-gallery.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,41 +10,49 @@
];

// URLs are root-relative (from the doc root), prefixed with content_root at render time
// Base for "Open in Colab" links (notebooks live under examples/Notebooks).
var COLAB = 'https://colab.research.google.com/github/GrayboxTech/weightslab/blob/main/weightslab/examples/Notebooks/';

var EXAMPLES = [
{
badge: 'PyTorch', color: 'pytorch',
title: 'Classification — MNIST',
desc: 'CNN digit classifier on MNIST. Register hyperparameters, monitor per-sample loss, and use the deny-aware sampler to focus on hard examples.',
tags: ['classification', 'supervised', 'mnist', 'cnn'],
url: 'examples/pytorch/classification.html'
url: 'examples/pytorch/classification.html',
colab: COLAB + 'PyTorch/ws-classification.ipynb'
},
{
badge: 'PyTorch', color: 'pytorch',
title: 'Segmentation — BDD100k',
desc: 'Per-pixel semantic segmentation with a UNet. Track per-sample IoU and visualise mask overlays directly in the studio.',
tags: ['segmentation', 'semantic', 'bdd100k', 'masks', 'dense prediction'],
url: 'examples/pytorch/segmentation.html'
url: 'examples/pytorch/segmentation.html',
colab: COLAB + 'PyTorch/ws-segmentation.ipynb'
},
{
badge: 'PyTorch', color: 'pytorch',
title: 'Detection — Penn-Fudan',
desc: 'Bounding-box detection on Penn-Fudan pedestrians. Per-instance multi-index dataframe with (sample_id, annotation_id) keys.',
tags: ['detection', 'object detection', 'bounding boxes', 'penn-fudan'],
url: 'examples/pytorch/detection.html'
url: 'examples/pytorch/detection.html',
colab: COLAB + 'PyTorch/ws-detection.ipynb'
},
{
badge: 'PyTorch', color: 'pytorch',
title: 'Clustering — Face Recognition',
desc: 'Metric learning with triplet loss on face datasets. Store and explore high-dimensional embeddings per sample in the studio.',
tags: ['clustering', 'unsupervised', 'embeddings', 'face recognition', 'metric learning'],
url: 'examples/pytorch/clustering.html'
url: 'examples/pytorch/clustering.html',
colab: COLAB + 'PyTorch/ws-clustering.ipynb'
},
{
badge: 'PyTorch', color: 'pytorch',
title: 'Generation / Anomaly Detection',
desc: 'Unsupervised anomaly detection on MVTec with a multi-task UNet. Monitor reconstruction quality and per-sample anomaly scores.',
tags: ['anomaly detection', 'generation', 'unsupervised', 'mvtec', 'reconstruction'],
url: 'examples/pytorch/generation.html'
url: 'examples/pytorch/generation.html',
colab: COLAB + 'PyTorch/ws-generation.ipynb'
},
{
badge: 'Lightning', color: 'lightning',
Expand Down Expand Up @@ -72,7 +80,8 @@
title: 'Loss-Shape Classification',
desc: 'Dynamic subscribed signal that classifies each sample\'s loss trajectory (monotonic, U-shape, spiked, …) and auto-tags it.',
tags: ['loss analysis', 'signal', 'categorical tag', 'per-sample', 'trajectory'],
url: 'examples/usecases/loss_shape_classification.html'
url: 'examples/usecases/loss_shape_classification.html',
colab: COLAB + 'Usecases/ws-segmentation-loss-shapes.ipynb'
}
];

Expand All @@ -94,15 +103,25 @@
}).join('');
var search = (ex.title + ' ' + ex.tags.join(' ')).toLowerCase();
var href = baseUrl + '/' + ex.url;
// "Open in Colab" badge, bottom-right, as a sibling of the card link (an
// <a> cannot be nested inside another <a>). Only for examples with a notebook.
var colabHtml = ex.colab
? '<a class="wl-eg-colab" href="' + esc(ex.colab) + '" target="_blank" rel="noopener noreferrer" title="Open in Google Colab" aria-label="Open in Google Colab">' +
'<img src="https://colab.research.google.com/img/colab_favicon_256px.png" alt="Open in Colab">' +
'</a>'
: '';
// The wrapper carries the filter data so the whole card (badge included)
// shows/hides together.
return (
'<a class="wl-eg-card" href="' + esc(href) + '"' +
' data-search="' + esc(search) + '"' +
' data-color="' + esc(ex.color) + '">' +
'<span class="wl-eg-badge wl-eg-badge--' + ex.color + '">' + esc(ex.badge) + '</span>' +
'<p class="wl-eg-title">' + esc(ex.title) + '</p>' +
'<p class="wl-eg-desc">' + esc(ex.desc) + '</p>' +
'<div class="wl-eg-tags">' + tagsHtml + '</div>' +
'</a>'
'<div class="wl-eg-cardwrap" data-search="' + esc(search) + '" data-color="' + esc(ex.color) + '">' +
'<a class="wl-eg-card" href="' + esc(href) + '">' +
'<span class="wl-eg-badge wl-eg-badge--' + ex.color + '">' + esc(ex.badge) + '</span>' +
'<p class="wl-eg-title">' + esc(ex.title) + '</p>' +
'<p class="wl-eg-desc">' + esc(ex.desc) + '</p>' +
'<div class="wl-eg-tags">' + tagsHtml + '</div>' +
'</a>' +
colabHtml +
'</div>'
);
}

Expand Down Expand Up @@ -166,7 +185,7 @@
var totalVisible = 0;

document.querySelectorAll('.wl-eg-section').forEach(function (section) {
var cards = section.querySelectorAll('.wl-eg-card');
var cards = section.querySelectorAll('.wl-eg-cardwrap');
var sectionVisible = 0;
cards.forEach(function (c) {
var matchText = !q || c.dataset.search.indexOf(q) !== -1;
Expand Down
2 changes: 1 addition & 1 deletion docs/examples/lightning/classification.rst
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Classification — MNIST (PyTorch Lightning)
<span class="wl-eg-tag">pytorch lightning</span>
</div>

**Example:** ``weightslab/examples/Lightning/ws-classification/main.py``
**Example:** ``weightslab/examples/Lightning/wl-classification/main.py``

**Task:** MNIST digit classification with a CNN, training loop managed by
``pl.Trainer``.
Expand Down
11 changes: 10 additions & 1 deletion docs/examples/pytorch/classification.rst
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Classification — MNIST (PyTorch)
<span class="wl-eg-tag">cnn</span>
</div>

**Example:** ``weightslab/examples/PyTorch/ws-classification/main.py``
**Example:** ``weightslab/examples/PyTorch/wl-classification/main.py``

**Task:** 10-class digit classification on MNIST with a small CNN.

Expand Down Expand Up @@ -159,3 +159,12 @@ debug values, custom distances, etc.

weightslab ui launch # 1. deploy the studio
weightslab start example --cls # 2. start the classification demo


.. raw:: html

<div style="text-align:right; margin-top:2rem;">
<a href="https://colab.research.google.com/github/GrayboxTech/weightslab/blob/main/weightslab/examples/Notebooks/PyTorch/ws-classification.ipynb" target="_blank" rel="noopener noreferrer">
<img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab">
</a>
</div>
11 changes: 10 additions & 1 deletion docs/examples/pytorch/clustering.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Clustering — Face Recognition (PyTorch)
<span class="wl-eg-tag">metric learning</span>
</div>

**Example:** ``weightslab/examples/PyTorch/ws-clustering/main.py``
**Example:** ``weightslab/examples/PyTorch/wl-clustering/main.py``

**Task:** Metric learning with triplet loss on the Olivetti / LFW face dataset.
The goal is to train an embedding network so that embeddings from the same
Expand Down Expand Up @@ -95,3 +95,12 @@ silhouette score to identify consistently confused identities.

weightslab ui launch # 1. deploy the studio
weightslab start example --clus # 2. start the clustering demo


.. raw:: html

<div style="text-align:right; margin-top:2rem;">
<a href="https://colab.research.google.com/github/GrayboxTech/weightslab/blob/main/weightslab/examples/Notebooks/PyTorch/ws-clustering.ipynb" target="_blank" rel="noopener noreferrer">
<img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab">
</a>
</div>
11 changes: 10 additions & 1 deletion docs/examples/pytorch/detection.rst
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Detection — Penn-Fudan Pedestrians (PyTorch)
<span class="wl-eg-tag">penn-fudan</span>
</div>

**Example:** ``weightslab/examples/PyTorch/ws-detection/main.py``
**Example:** ``weightslab/examples/PyTorch/wl-detection/main.py``

**Task:** Bounding-box detection on the Penn-Fudan pedestrian dataset with a
small ResNet-backbone detector.
Expand Down Expand Up @@ -127,3 +127,12 @@ pipeline. See :ref:`good-practice-get-items` for the recommended signature.

weightslab ui launch # 1. deploy the studio
weightslab start example --det # 2. start the detection demo


.. raw:: html

<div style="text-align:right; margin-top:2rem;">
<a href="https://colab.research.google.com/github/GrayboxTech/weightslab/blob/main/weightslab/examples/Notebooks/PyTorch/ws-detection.ipynb" target="_blank" rel="noopener noreferrer">
<img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab">
</a>
</div>
11 changes: 10 additions & 1 deletion docs/examples/pytorch/generation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Generation / Anomaly Detection — MVTec (PyTorch)
<span class="wl-eg-tag">reconstruction</span>
</div>

**Example:** ``weightslab/examples/PyTorch/ws-generation/main.py``
**Example:** ``weightslab/examples/PyTorch/wl-generation/main.py``

**Task:** Unsupervised anomaly detection on MVTec capsule images with a
multi-task UNet (classification head + reconstruction head + contrastive loss).
Expand Down Expand Up @@ -101,3 +101,12 @@ filter by pair distance to find the hardest negatives.

weightslab ui launch # 1. deploy the studio
weightslab start example --gen # 2. start the generation / anomaly demo


.. raw:: html

<div style="text-align:right; margin-top:2rem;">
<a href="https://colab.research.google.com/github/GrayboxTech/weightslab/blob/main/weightslab/examples/Notebooks/PyTorch/ws-generation.ipynb" target="_blank" rel="noopener noreferrer">
<img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab">
</a>
</div>
11 changes: 10 additions & 1 deletion docs/examples/pytorch/segmentation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Segmentation — BDD100k (PyTorch)
<span class="wl-eg-tag">dense prediction</span>
</div>

**Example:** ``weightslab/examples/PyTorch/ws-segmentation/main.py``
**Example:** ``weightslab/examples/PyTorch/wl-segmentation/main.py``

**Task:** Per-instance semantic segmentation on BDD100k (6 classes) with a
small UNet.
Expand Down Expand Up @@ -114,3 +114,12 @@ these signals over training steps and lets you sort samples by them.

weightslab ui launch # 1. deploy the studio
weightslab start example --seg # 2. start the segmentation demo


.. raw:: html

<div style="text-align:right; margin-top:2rem;">
<a href="https://colab.research.google.com/github/GrayboxTech/weightslab/blob/main/weightslab/examples/Notebooks/PyTorch/ws-segmentation.ipynb" target="_blank" rel="noopener noreferrer">
<img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab">
</a>
</div>
2 changes: 1 addition & 1 deletion docs/examples/ultralytics/detection.rst
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ The full Ultralytics integration documentation is at :doc:`/ultralytics`.
This page summarises what ``WLAwareTrainer`` handles automatically and where
the example lives.

**Example:** ``weightslab/examples/Ultralytics/ws-detection/main.py``
**Example:** ``weightslab/examples/Ultralytics/wl-detection/main.py``

What the example does
---------------------
Expand Down
4 changes: 2 additions & 2 deletions docs/examples/usecases/lidar_detection.rst
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ LiDAR Detection — 2D and 3D (PyTorch)

**Examples:**

- ``weightslab/examples/Usecases/ws-2d-lidar-detection/main.py``
- ``weightslab/examples/Usecases/ws-3d-lidar-detection/main.py``
- ``weightslab/examples/Usecases/wl-2d-lidar-detection/main.py``
- ``weightslab/examples/Usecases/wl-3d-lidar-detection/main.py``

**Task:** Object detection on LiDAR point clouds — 2D pillar-grid (BEV) and
full 3D bounding boxes (KITTI-format).
Expand Down
11 changes: 10 additions & 1 deletion docs/examples/usecases/loss_shape_classification.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Loss-Shape Classification per Sample
<span class="wl-eg-tag">trajectory</span>
</div>

**Example:** ``weightslab/examples/Usecases/ws-loss_shapes_classification_per_sample/``
**Example:** ``weightslab/examples/Usecases/wl-loss_shapes_classification_per_sample/``

This use case builds on :doc:`../pytorch/detection` (same Penn-Fudan dataset,
same model, same ``guard_training_context`` pattern) and adds one new feature:
Expand Down Expand Up @@ -208,3 +208,12 @@ Workflow in the studio

To run the full loss-shape example (with the ``@wl.signal(subscribe_to=...)``
classifier active), use the direct path above.


.. raw:: html

<div style="text-align:right; margin-top:2rem;">
<a href="https://colab.research.google.com/github/GrayboxTech/weightslab/blob/main/weightslab/examples/Notebooks/Usecases/ws-segmentation-loss-shapes.ipynb" target="_blank" rel="noopener noreferrer">
<img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab">
</a>
</div>
4 changes: 2 additions & 2 deletions docs/pytorch_lightning.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ PyTorch Lightning Integration

Weightslab is compatible with PyTorch Lightning and already includes a full example:

``weightslab/examples/PyTorch_Lightning/ws-classification/main.py``
``weightslab/examples/PyTorch_Lightning/wl-classification/main.py``

This page explains how to integrate Weightslab in a Lightning workflow and scale to multiple GPUs.

Expand Down Expand Up @@ -109,7 +109,7 @@ Optional YAML-driven trainer config

The Lightning example already includes a ready template at:

``weightslab/examples/PyTorch_Lightning/ws-classification/config.yaml``
``weightslab/examples/PyTorch_Lightning/wl-classification/config.yaml``

.. code-block:: yaml

Expand Down
2 changes: 1 addition & 1 deletion docs/segmentation_usecase.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ Segmentation Use Case — Per-instance & Per-sample Signals (PyTorch)

This page walks through the segmentation integration from:

``weightslab/examples/PyTorch/ws-segmentation/main.py``
``weightslab/examples/PyTorch/wl-segmentation/main.py``

It builds on the classification :doc:`usecases` page and focuses on what is
**specific to segmentation**: a *list of per-instance masks* per sample, a custom
Expand Down
4 changes: 2 additions & 2 deletions docs/ultralytics.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ without touching the model or YOLO's training loop.

The full example lives at:

``weightslab/examples/Ultralytics/ws-detection/``
``weightslab/examples/Ultralytics/wl-detection/``

How it works
------------
Expand Down Expand Up @@ -207,7 +207,7 @@ Running the bundled example

.. code-block:: bash

python weightslab/examples/Ultralytics/ws-detection/main.py
python weightslab/examples/Ultralytics/wl-detection/main.py

5. Open ``http://localhost:5173`` to monitor training, inspect per-sample
signals, tag difficult images, and discard outliers.
Expand Down
2 changes: 1 addition & 1 deletion docs/usecases.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ Use Case Example (PyTorch)

This page walks through the real MNIST classification integration from:

``weightslab/examples/PyTorch/ws-classification/main.py``
``weightslab/examples/PyTorch/wl-classification/main.py``

Goal
----
Expand Down
Loading
Loading