lightly-studio 0.3.4__py3-none-any.whl → 0.4.1__py3-none-any.whl
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 lightly-studio might be problematic. Click here for more details.
- lightly_studio/__init__.py +1 -2
- lightly_studio/api/db_tables.py +3 -0
- lightly_studio/api/features.py +3 -5
- lightly_studio/api/routes/api/dataset.py +5 -3
- lightly_studio/api/routes/api/dataset_tag.py +10 -0
- lightly_studio/api/routes/api/embeddings2d.py +6 -47
- lightly_studio/core/dataset.py +89 -2
- lightly_studio/core/dataset_query/__init__.py +14 -0
- lightly_studio/core/dataset_query/dataset_query.py +98 -2
- lightly_studio/core/dataset_query/sample_field.py +11 -2
- lightly_studio/core/sample.py +33 -1
- lightly_studio/db_manager.py +4 -2
- lightly_studio/dist_lightly_studio_view_app/_app/env.js +1 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/assets/0.B-Bn8V7R.css +1 -0
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/assets/Samples.CTl60pQb.css +1 -0
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/assets/_layout.CxuTMeYy.css +1 -0
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/assets/transform.Bte-FZ4V.css +1 -0
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/7XnHnNk_.js +1 -0
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/BDE1kT04.js +2 -0
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/{DQ8aZ1o-.js → BHoO7UL_.js} +2 -2
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/{CZGpyrcA.js → BTpMiPuk.js} +1 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/BbG6fgnL.js +1 -0
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/Bip0vTKl.js +1 -0
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/{D_JuJOO3.js → BzYRexN9.js} +1 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/{Frwd2CjB.js → C3xJX0nD.js} +1 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/C5oezL0m.js +39 -0
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/{H4l0JFh9.js → CANX9QXL.js} +1 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/CAPx0Bfm.js +1 -0
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/CEPpkZIV.js +1 -0
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/ChO13USc.js +96 -0
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/{DzBTnFhV.js → Cj4nZbtb.js} +1 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/{Bqz7dyEC.js → CmNXvs5e.js} +1 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/CpbA3HU7.js +2 -0
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/{DSxvnAMh.js → D9WxTSWa.js} +1 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/DELrRF6e.js +4 -0
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/{sLqs1uaK.js → DFib3GIP.js} +1 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/{CSCQddQS.js → DNJnBfHs.js} +1 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/DVxjPOJB.js +1 -0
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/DeAqvaPB.js +1 -0
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/DgCXCApo.js +438 -0
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/DmGM9V9Q.js +1 -0
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/DoEId1MK.js +1 -0
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/DqhovIS0.js +1 -0
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/SiegjVo0.js +1 -0
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/gBp1tBnA.js +1 -0
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/xQhUoIl9.js +1 -0
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/entry/app.CED-eiXl.js +2 -0
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/entry/start.D6UcpqyO.js +1 -0
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/0.waSqEGqm.js +4 -0
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/{1.Cdy-7S5q.js → 1.Bb_sKkYl.js} +1 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/10.D9Uicmfq.js +1 -0
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/11.DKnK0EcJ.js +1 -0
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/13.D7dGgxYC.js +1 -0
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/{2.BIldfkxL.js → 2.BzK1sjoM.js} +144 -105
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/{3.BC9z_TWM.js → 3.B08UPFst.js} +1 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/{4.D8X_Ch5n.js → 4.C19_Nx95.js} +1 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/5.B2cR7brs.js +39 -0
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/{6.DRA5Ru_2.js → 6.C9Y2LZxG.js} +1 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/{7.WVBsruHQ.js → 7.CEbWmgIF.js} +1 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/8.Con-GcPz.js +20 -0
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/9.DW7FBNNH.js +1 -0
- lightly_studio/dist_lightly_studio_view_app/_app/version.json +1 -1
- lightly_studio/dist_lightly_studio_view_app/index.html +13 -14
- lightly_studio/models/annotation/annotation_base.py +9 -0
- lightly_studio/models/caption.py +1 -0
- lightly_studio/models/dataset.py +6 -0
- lightly_studio/models/sample.py +8 -1
- lightly_studio/models/settings.py +5 -0
- lightly_studio/models/two_dim_embedding.py +16 -0
- lightly_studio/resolvers/annotation_resolver/get_all.py +3 -1
- lightly_studio/resolvers/dataset_resolver.py +20 -5
- lightly_studio/resolvers/sample_embedding_resolver.py +44 -2
- lightly_studio/resolvers/sample_resolver.py +2 -3
- lightly_studio/resolvers/settings_resolver.py +3 -0
- lightly_studio/resolvers/twodim_embedding_resolver.py +119 -0
- lightly_studio/selection/__init__.py +1 -0
- lightly_studio/selection/mundig.py +41 -0
- lightly_studio/selection/select.py +70 -1
- lightly_studio/selection/selection_config.py +1 -1
- lightly_studio-0.4.1.dist-info/METADATA +78 -0
- {lightly_studio-0.3.4.dist-info → lightly_studio-0.4.1.dist-info}/RECORD +83 -81
- lightly_studio/dataset/loader.py +0 -581
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/assets/0.B3oFNb6O.css +0 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/assets/Samples.CIbricz7.css +0 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/assets/_layout.7Ma7YdVg.css +0 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/assets/transform.2jKMtOWG.css +0 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/-DXuGN29.js +0 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/B7302SU7.js +0 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/BeWf8-vJ.js +0 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/CfQ4mGwl.js +0 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/CiaNZCBa.js +0 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/Cqo0Vpvt.js +0 -417
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/Cy4fgWTG.js +0 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/D5w4xp5l.js +0 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/DD63uD-T.js +0 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/D_ynJAfY.js +0 -2
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/Dafy4oEQ.js +0 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/Dj4O-5se.js +0 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/DmjAI-UV.js +0 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/Dug7Bq1S.js +0 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/Dv5BSBQG.js +0 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/DzX_yyqb.js +0 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/H60ATh8g.js +0 -2
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/qIv1kPyv.js +0 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/u-it74zV.js +0 -96
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/entry/app.BPc0HQPq.js +0 -2
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/entry/start.SNvc2nrm.js +0 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/0.5jT7P06o.js +0 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/10.C_uoESTX.js +0 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/12.DcO8wIAc.js +0 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/5.CAXhxJu6.js +0 -39
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/8.BuKUrCEN.js +0 -20
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/9.CUIn1yCR.js +0 -1
- lightly_studio/selection/README.md +0 -6
- lightly_studio-0.3.4.dist-info/METADATA +0 -879
- /lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/{11.CWG1ehzT.js → 12.CWG1ehzT.js} +0 -0
- {lightly_studio-0.3.4.dist-info → lightly_studio-0.4.1.dist-info}/WHEEL +0 -0
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
"""Handler for getting cached 2D embeddings from high-dimensional embeddings."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from uuid import UUID
|
|
6
|
+
|
|
7
|
+
import numpy as np
|
|
8
|
+
from lightly_mundig import TwoDimEmbedding # type: ignore[import-untyped]
|
|
9
|
+
from numpy.typing import NDArray
|
|
10
|
+
from sqlmodel import Session, col, select
|
|
11
|
+
|
|
12
|
+
from lightly_studio.dataset.env import LIGHTLY_STUDIO_LICENSE_KEY
|
|
13
|
+
from lightly_studio.models.embedding_model import EmbeddingModelTable
|
|
14
|
+
from lightly_studio.models.sample import SampleTable
|
|
15
|
+
from lightly_studio.models.two_dim_embedding import TwoDimEmbeddingTable
|
|
16
|
+
from lightly_studio.resolvers import sample_embedding_resolver
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
def get_twodim_embeddings(
|
|
20
|
+
session: Session,
|
|
21
|
+
dataset_id: UUID,
|
|
22
|
+
embedding_model_id: UUID,
|
|
23
|
+
) -> tuple[NDArray[np.float32], NDArray[np.float32], list[UUID]]:
|
|
24
|
+
"""Return cached 2D embeddings together with their sample identifiers.
|
|
25
|
+
|
|
26
|
+
Uses a cache to avoid recomputing the 2D embeddings. The cache key combines the sorted
|
|
27
|
+
sample identifiers with a deterministic 64-bit hash over the stored high-dimensional
|
|
28
|
+
embeddings.
|
|
29
|
+
|
|
30
|
+
Args:
|
|
31
|
+
session: Database session.
|
|
32
|
+
dataset_id: Dataset identifier.
|
|
33
|
+
embedding_model_id: Embedding model identifier.
|
|
34
|
+
|
|
35
|
+
Returns:
|
|
36
|
+
Tuple of (x coordinates, y coordinates, ordered sample IDs).
|
|
37
|
+
"""
|
|
38
|
+
embedding_model = session.get(EmbeddingModelTable, embedding_model_id)
|
|
39
|
+
if embedding_model is None:
|
|
40
|
+
raise ValueError(f"Embedding model {embedding_model_id} not found.")
|
|
41
|
+
|
|
42
|
+
# Define a fixed order of sample IDs for the cache key.
|
|
43
|
+
sample_ids_ordered = list(
|
|
44
|
+
session.exec(
|
|
45
|
+
select(SampleTable.sample_id)
|
|
46
|
+
.where(SampleTable.dataset_id == dataset_id)
|
|
47
|
+
.order_by(col(SampleTable.sample_id).asc())
|
|
48
|
+
).all()
|
|
49
|
+
)
|
|
50
|
+
|
|
51
|
+
# Check if we have a cached 2D embedding for the given samples and embedding model.
|
|
52
|
+
# The order is defined by sample_ids_ordered.
|
|
53
|
+
cache_key, sample_ids_of_samples_with_embeddings = (
|
|
54
|
+
sample_embedding_resolver.get_hash_by_sample_ids(
|
|
55
|
+
session=session,
|
|
56
|
+
sample_ids_ordered=sample_ids_ordered,
|
|
57
|
+
embedding_model_id=embedding_model_id,
|
|
58
|
+
)
|
|
59
|
+
)
|
|
60
|
+
|
|
61
|
+
if not sample_ids_of_samples_with_embeddings:
|
|
62
|
+
empty = np.array([], dtype=np.float32)
|
|
63
|
+
return empty, empty, []
|
|
64
|
+
|
|
65
|
+
# If there is a cached entry, return it.
|
|
66
|
+
cached = session.get(TwoDimEmbeddingTable, cache_key)
|
|
67
|
+
if cached is not None:
|
|
68
|
+
x_values = np.array(cached.x, dtype=np.float32)
|
|
69
|
+
y_values = np.array(cached.y, dtype=np.float32)
|
|
70
|
+
return x_values, y_values, sample_ids_of_samples_with_embeddings
|
|
71
|
+
|
|
72
|
+
# No cached entry found - load the high-dimensional embeddings.
|
|
73
|
+
# The order is defined by sample_ids_of_samples_with_embeddings.
|
|
74
|
+
sample_embeddings = sample_embedding_resolver.get_by_sample_ids(
|
|
75
|
+
session=session,
|
|
76
|
+
sample_ids=sample_ids_of_samples_with_embeddings,
|
|
77
|
+
embedding_model_id=embedding_model_id,
|
|
78
|
+
)
|
|
79
|
+
|
|
80
|
+
# If there are no embeddings, return empty arrays.
|
|
81
|
+
if not sample_embeddings:
|
|
82
|
+
empty = np.array([], dtype=np.float32)
|
|
83
|
+
return empty, empty, []
|
|
84
|
+
|
|
85
|
+
# Compute the 2D embedding from the high-dimensional embeddings.
|
|
86
|
+
# The order is now defined by sample_embeddings. They are the ordered subset of the
|
|
87
|
+
# sample_ids_of_samples_with_embeddings that have embeddings.
|
|
88
|
+
sample_ids_of_samples_with_embeddings = [embedding.sample_id for embedding in sample_embeddings]
|
|
89
|
+
embedding_values = [embedding.embedding for embedding in sample_embeddings]
|
|
90
|
+
planar_embeddings = _calculate_2d_embeddings(embedding_values)
|
|
91
|
+
embeddings_2d = np.asarray(planar_embeddings, dtype=np.float32)
|
|
92
|
+
x_values, y_values = embeddings_2d[:, 0], embeddings_2d[:, 1]
|
|
93
|
+
|
|
94
|
+
# Write the computed 2D embeddings to the cache.
|
|
95
|
+
cache_entry = TwoDimEmbeddingTable(hash=cache_key, x=list(x_values), y=list(y_values))
|
|
96
|
+
session.add(cache_entry)
|
|
97
|
+
session.commit()
|
|
98
|
+
|
|
99
|
+
return x_values, y_values, sample_ids_of_samples_with_embeddings
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
def _calculate_2d_embeddings(embedding_values: list[list[float]]) -> list[tuple[float, float]]:
|
|
103
|
+
n_samples = len(embedding_values)
|
|
104
|
+
# For 0, 1 or 2 samples we hard-code deterministic coordinates.
|
|
105
|
+
if n_samples == 0:
|
|
106
|
+
return []
|
|
107
|
+
if n_samples == 1:
|
|
108
|
+
return [(0.0, 0.0)]
|
|
109
|
+
if n_samples == 2: # noqa: PLR2004
|
|
110
|
+
return [(0.0, 0.0), (1.0, 1.0)]
|
|
111
|
+
|
|
112
|
+
license_key = LIGHTLY_STUDIO_LICENSE_KEY
|
|
113
|
+
if license_key is None:
|
|
114
|
+
raise ValueError(
|
|
115
|
+
"LIGHTLY_STUDIO_LICENSE_KEY environment variable is not set. "
|
|
116
|
+
"Please set it to your LightlyStudio license key."
|
|
117
|
+
)
|
|
118
|
+
embedding_calculator = TwoDimEmbedding(embedding_values, license_key)
|
|
119
|
+
return embedding_calculator.calculate_2d_embedding() # type: ignore[no-any-return]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""Selection package."""
|
|
@@ -81,6 +81,47 @@ class Mundig:
|
|
|
81
81
|
self._check_consistent_input_size(weights_ndarray.shape[0])
|
|
82
82
|
self.mundig.add_weighting_strategy(weights=weights_ndarray, strength=strength)
|
|
83
83
|
|
|
84
|
+
def add_class_balancing(
|
|
85
|
+
self,
|
|
86
|
+
class_distributions: Iterable[Iterable[float]],
|
|
87
|
+
target: Iterable[float],
|
|
88
|
+
strength: float = 1.0,
|
|
89
|
+
) -> None:
|
|
90
|
+
"""Add a class balancing strategy.
|
|
91
|
+
|
|
92
|
+
This strategy aims to select a subset of samples such that the
|
|
93
|
+
distribution of classes in the subset is close to the target
|
|
94
|
+
distribution.
|
|
95
|
+
|
|
96
|
+
Args:
|
|
97
|
+
class_distributions:
|
|
98
|
+
First dimension is over all samples, second one is the distribution per sample over
|
|
99
|
+
the classes.
|
|
100
|
+
target:
|
|
101
|
+
The desired target distribution for the classes in the selected subset of samples.
|
|
102
|
+
The length of the target must match the number of classes in the class
|
|
103
|
+
distributions.
|
|
104
|
+
strength:
|
|
105
|
+
The strength of the balancing strategy.
|
|
106
|
+
"""
|
|
107
|
+
# Convert to ndarray with float32 dtype if not already
|
|
108
|
+
if isinstance(class_distributions, np.ndarray) and class_distributions.dtype == np.float32:
|
|
109
|
+
class_distributions_nparray = class_distributions
|
|
110
|
+
else:
|
|
111
|
+
class_distributions_nparray = np.array(class_distributions, dtype=np.float32)
|
|
112
|
+
self._check_consistent_input_size(class_distributions_nparray.shape[0])
|
|
113
|
+
target_nparray = np.array(target, dtype=np.float32)
|
|
114
|
+
if class_distributions_nparray.shape[1] != target_nparray.shape[0]:
|
|
115
|
+
raise ValueError(
|
|
116
|
+
f"The length of 'target' {target_nparray.shape[0]} doesn't match the width of "
|
|
117
|
+
f"'class_distributions': {class_distributions_nparray.shape[0]}"
|
|
118
|
+
)
|
|
119
|
+
self.mundig.add_balancing_strategy(
|
|
120
|
+
class_distributions=class_distributions_nparray,
|
|
121
|
+
target=target_nparray,
|
|
122
|
+
strength=strength,
|
|
123
|
+
)
|
|
124
|
+
|
|
84
125
|
def _check_consistent_input_size(self, n_input_samples_strategy: int) -> None:
|
|
85
126
|
"""Assert that input samples count is consistent across strategies.
|
|
86
127
|
|
|
@@ -18,7 +18,76 @@ from lightly_studio.selection.selection_config import (
|
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
class Selection:
|
|
21
|
-
"""
|
|
21
|
+
"""Smart selection interface.
|
|
22
|
+
|
|
23
|
+
The `Selection` class allows to select a subset of samples from a given set of input
|
|
24
|
+
samples. There are many different strategies to select samples, e.g. diversity based
|
|
25
|
+
on embeddings or weighting based on numeric metadata. Multiple strategies can be
|
|
26
|
+
combined to form more complex selection strategies.
|
|
27
|
+
|
|
28
|
+
The result of a selection is stored as a tag on the selected samples in the database.
|
|
29
|
+
The `selection_result_tag_name` must be a unique tag name that is not used yet.
|
|
30
|
+
|
|
31
|
+
# Creation of a Selection instance.
|
|
32
|
+
|
|
33
|
+
Creation of an instance of this is easiest via the `DatasetQuery` class. By using
|
|
34
|
+
a `match()` first, the samples to select from can be filtered down.
|
|
35
|
+
```python
|
|
36
|
+
from lightly_studio.core.dataset_query import SampleField
|
|
37
|
+
|
|
38
|
+
# Select from all samples in the dataset.
|
|
39
|
+
selection = dataset.query().selection()
|
|
40
|
+
|
|
41
|
+
# Select only from samples with width < 256.
|
|
42
|
+
query_narrow_images = dataset.query().match(SampleField.width < 256)
|
|
43
|
+
selection_among_narrow_images = query_narrow_images.selection()
|
|
44
|
+
```
|
|
45
|
+
See the `DatasetQuery.match()` documentation for more information on filtering.
|
|
46
|
+
By creating the `Selection` instance, the query is executed. Further changes to the
|
|
47
|
+
query do not affect the selection instance.
|
|
48
|
+
|
|
49
|
+
# Performing single-strategy selections.
|
|
50
|
+
|
|
51
|
+
Once a `Selection` instance is created, different selection strategies can be
|
|
52
|
+
applied to select samples. Single-strategy selections are performed by calling
|
|
53
|
+
the respective method on the `Selection` instance. All methods take the number of
|
|
54
|
+
samples to select and a tag name for the selection result as mandatory arguments.
|
|
55
|
+
```python
|
|
56
|
+
# Select 100 diverse samples based on embeddings
|
|
57
|
+
selection.diverse(
|
|
58
|
+
n_samples_to_select=100,
|
|
59
|
+
selection_result_tag_name="diverse selection",
|
|
60
|
+
)
|
|
61
|
+
# Select 50 samples weighted by numeric metadata "difficulty"
|
|
62
|
+
selection.metadata_weighting(
|
|
63
|
+
n_samples_to_select=50,
|
|
64
|
+
selection_result_tag_name="weighted selection",
|
|
65
|
+
metadata_key="difficulty",
|
|
66
|
+
)
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
# Performing multi-strategy selections.
|
|
70
|
+
|
|
71
|
+
More complex selection strategies can be formed by combining multiple selection
|
|
72
|
+
strategies. This is done via the `multi_strategies()` method, which takes a
|
|
73
|
+
list of selection strategies as an argument.
|
|
74
|
+
```python
|
|
75
|
+
from lightly_studio.selection.selection_config import (
|
|
76
|
+
EmbeddingDiversityStrategy,
|
|
77
|
+
MetadataWeightingStrategy
|
|
78
|
+
)
|
|
79
|
+
|
|
80
|
+
# Select 75 samples that are diverse and weighted by "difficulty"
|
|
81
|
+
selection.multi_strategies(
|
|
82
|
+
n_samples_to_select=75,
|
|
83
|
+
selection_result_tag_name="diverse and weighted selection",
|
|
84
|
+
selection_strategies=[
|
|
85
|
+
EmbeddingDiversityStrategy(),
|
|
86
|
+
MetadataWeightingStrategy(metadata_key="difficulty"),
|
|
87
|
+
],
|
|
88
|
+
)
|
|
89
|
+
```
|
|
90
|
+
"""
|
|
22
91
|
|
|
23
92
|
def __init__(
|
|
24
93
|
self,
|
|
@@ -27,7 +27,7 @@ class EmbeddingDiversityStrategy(SelectionStrategy):
|
|
|
27
27
|
"""Selection strategy based on embedding diversity."""
|
|
28
28
|
|
|
29
29
|
strategy_name: Literal["diversity"] = "diversity"
|
|
30
|
-
embedding_model_name: str | None
|
|
30
|
+
embedding_model_name: str | None = None
|
|
31
31
|
|
|
32
32
|
|
|
33
33
|
class MetadataWeightingStrategy(SelectionStrategy):
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: lightly-studio
|
|
3
|
+
Version: 0.4.1
|
|
4
|
+
Summary: LightlyStudio is a lightweight, fast, and easy-to-use data exploration tool for data scientists and engineers.
|
|
5
|
+
Classifier: Operating System :: MacOS :: MacOS X
|
|
6
|
+
Classifier: Operating System :: Microsoft :: Windows
|
|
7
|
+
Classifier: Operating System :: POSIX :: Linux
|
|
8
|
+
Classifier: Programming Language :: Python :: 3
|
|
9
|
+
Classifier: Programming Language :: Python :: 3.8
|
|
10
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
11
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
14
|
+
Requires-Python: <3.13,>=3.8
|
|
15
|
+
Requires-Dist: annotated-types==0.7.0
|
|
16
|
+
Requires-Dist: duckdb-engine<0.17,>=0.15.0
|
|
17
|
+
Requires-Dist: duckdb<1.3,>=1.2.2
|
|
18
|
+
Requires-Dist: environs<12.0.0
|
|
19
|
+
Requires-Dist: eval-type-backport>=0.2.2
|
|
20
|
+
Requires-Dist: fastapi>=0.115.5
|
|
21
|
+
Requires-Dist: faster-coco-eval>=1.6.5
|
|
22
|
+
Requires-Dist: fsspec>=2023.1.0
|
|
23
|
+
Requires-Dist: labelformat>=0.1.7
|
|
24
|
+
Requires-Dist: lightly-mundig==0.1.7
|
|
25
|
+
Requires-Dist: open-clip-torch>=2.20.0
|
|
26
|
+
Requires-Dist: pyarrow>=17.0.0
|
|
27
|
+
Requires-Dist: python-multipart>=0.0.20
|
|
28
|
+
Requires-Dist: scikit-learn==1.3.2
|
|
29
|
+
Requires-Dist: sqlmodel>=0.0.22
|
|
30
|
+
Requires-Dist: tqdm>=4.65.0
|
|
31
|
+
Requires-Dist: typing-extensions>=4.12.2
|
|
32
|
+
Requires-Dist: uvicorn>=0.32.1
|
|
33
|
+
Requires-Dist: xxhash>=3.5.0
|
|
34
|
+
Provides-Extra: cloud-storage
|
|
35
|
+
Requires-Dist: adlfs>=2023.1.0; extra == 'cloud-storage'
|
|
36
|
+
Requires-Dist: gcsfs>=2023.1.0; extra == 'cloud-storage'
|
|
37
|
+
Requires-Dist: s3fs>=2023.1.0; extra == 'cloud-storage'
|
|
38
|
+
Provides-Extra: lightly-edge
|
|
39
|
+
Requires-Dist: lightly-edge-sdk>=1.0.1b2; extra == 'lightly-edge'
|
|
40
|
+
Requires-Dist: opencv-python; extra == 'lightly-edge'
|
|
41
|
+
Description-Content-Type: text/markdown
|
|
42
|
+
|
|
43
|
+
<p align="center">
|
|
44
|
+
<a href="https://lightly.ai/lightly-studio">
|
|
45
|
+
<img src="https://cdn.prod.website-files.com/62cd5ce03261cba217188442/66dac501a8e9a90495970876_Logo%20dark-short-p-800.png" height="50" alt="LightlyStudio logo" />
|
|
46
|
+
</a>
|
|
47
|
+
</p>
|
|
48
|
+
<p align="center"><strong>Curate, Annotate, and Manage Your Data in LightlyStudio.</strong></p>
|
|
49
|
+
<p align="center">
|
|
50
|
+
<a href="https://pypi.org/project/lightly-studio">
|
|
51
|
+
<img src="https://img.shields.io/pypi/pyversions/lightly-studio" alt="PyPI python" />
|
|
52
|
+
</a>
|
|
53
|
+
<a href="https://pypi.org/project/lightly-studio">
|
|
54
|
+
<img src="https://badge.fury.io/py/lightly-studio.svg" alt="PyPI version" />
|
|
55
|
+
</a>
|
|
56
|
+
<a href="LICENSE">
|
|
57
|
+
<img src="https://img.shields.io/badge/License-Apache%202.0-blue.svg" alt="License" />
|
|
58
|
+
</a>
|
|
59
|
+
<a href="https://docs.lightly.ai/studio">
|
|
60
|
+
<img src="https://img.shields.io/badge/Docs-blue" alt="Docs" />
|
|
61
|
+
</a>
|
|
62
|
+
</p>
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
# Welcome to LightlyStudio!
|
|
67
|
+
|
|
68
|
+
We at **[Lightly](https://lightly.ai)** created **[LightlyStudio](https://www.lightly.ai/lightly-studio)**, an open-source tool designed to unify your data workflows from curation, annotation and management in a single tool. Since we're big fans of Rust we used it to speed things up. You can work with COCO and ImageNet on a Macbook Pro with M1 and 16GB of memory!
|
|
69
|
+
|
|
70
|
+
Explore [LightlyStudio on GitHub](https://github.com/lightly-ai/lightly-studio).
|
|
71
|
+
|
|
72
|
+
Learn more in our [documentation](https://docs.lightly.ai/studio).
|
|
73
|
+
|
|
74
|
+
<p align="center">
|
|
75
|
+
<img alt="LightlyStudio Overview" src="https://storage.googleapis.com/lightly-public/studio/studio_overview.gif" width="70%">
|
|
76
|
+
<br/>
|
|
77
|
+
<em>Curate, Annotate, and Manage Your Data in LightlyStudio.</em>
|
|
78
|
+
</p>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
lightly_studio/__init__.py,sha256=
|
|
2
|
-
lightly_studio/db_manager.py,sha256=
|
|
1
|
+
lightly_studio/__init__.py,sha256=W30aqe3qT9U6hs40S1hYPe8037h-oc4l1H_2IBMu2hk,501
|
|
2
|
+
lightly_studio/db_manager.py,sha256=5qPJz-urlwNTbvL5PaGu9XPbTMdM9V8bdSAQwTbGmMc,5332
|
|
3
3
|
lightly_studio/export_schema.py,sha256=tjJnekCJFacaK6Hraabfbat0hUknwRW7DqO1lddXcA0,484
|
|
4
4
|
lightly_studio/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
5
5
|
lightly_studio/setup_logging.py,sha256=o4xDUKJ-YkATLvKOqgwSzHaOjGXzN_-1HkiG5hbHXB8,672
|
|
@@ -7,8 +7,8 @@ lightly_studio/type_definitions.py,sha256=qFtIVz-4qdZ6b8m785iC2CGtgtSmhMFtVs8mFK
|
|
|
7
7
|
lightly_studio/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
8
8
|
lightly_studio/api/app.py,sha256=f4dY_UU-Moeh8udE2gkeKtoZivtvcE4RRa-8xFOkS2k,3070
|
|
9
9
|
lightly_studio/api/cache.py,sha256=eJF4VYBFhx_p5rItfIIe18SDqUJVkKIDROXv61Tv1Zo,2478
|
|
10
|
-
lightly_studio/api/db_tables.py,sha256=
|
|
11
|
-
lightly_studio/api/features.py,sha256=
|
|
10
|
+
lightly_studio/api/db_tables.py,sha256=xSKHKD94sWekgWYTEOTgBgoHPIrcmexVF8l0Azyh45Y,1342
|
|
11
|
+
lightly_studio/api/features.py,sha256=8KmYHa1cOfEP1j7Iq87J2wWxbJBD4d8441at5Jne-rE,126
|
|
12
12
|
lightly_studio/api/server.py,sha256=dsHBdgPkD3z43GCP4VEoXmC77Pir12Woap4qc7LN52Y,2513
|
|
13
13
|
lightly_studio/api/routes/healthz.py,sha256=4wfMBPqpwYsFenUo006aVA1aIcZg4fg9biM93D0HMlk,356
|
|
14
14
|
lightly_studio/api/routes/images.py,sha256=J8HSgdmVSMzW9cKmx2Qx2fciFluAU9c6W7nQwg_J-p0,2883
|
|
@@ -17,9 +17,9 @@ lightly_studio/api/routes/api/annotation.py,sha256=XT_fOraJoO6bmRAsI_H-5CBwMlyGv
|
|
|
17
17
|
lightly_studio/api/routes/api/annotation_label.py,sha256=YZHcgGwzDUo8TTVfWw_hIxRW9Now7sL8gv7-iKaNsCA,2678
|
|
18
18
|
lightly_studio/api/routes/api/caption.py,sha256=a2Z0Y_UeY1wJTuP6ryVoZo-_73SADJs4LXKQcBMpbGE,1067
|
|
19
19
|
lightly_studio/api/routes/api/classifier.py,sha256=ZBT8LVolL27SAjZjx2YCEGTGervDQeKWWQh4Fa3DKsI,10877
|
|
20
|
-
lightly_studio/api/routes/api/dataset.py,sha256=
|
|
21
|
-
lightly_studio/api/routes/api/dataset_tag.py,sha256=
|
|
22
|
-
lightly_studio/api/routes/api/embeddings2d.py,sha256=
|
|
20
|
+
lightly_studio/api/routes/api/dataset.py,sha256=9bXyYO8DKpq10kgKdlIfB-hfyPoXy2D_0VJ3aPn58u0,5516
|
|
21
|
+
lightly_studio/api/routes/api/dataset_tag.py,sha256=pvximkhq0-M6mMpoPOfRishn9NIq4MH9xBtpqvBmwaE,7967
|
|
22
|
+
lightly_studio/api/routes/api/embeddings2d.py,sha256=fgvvMy_n-0FunWj0noVVqUONUjn0ZAv0DmzuNB9LZ6k,3333
|
|
23
23
|
lightly_studio/api/routes/api/exceptions.py,sha256=89QD_JVXSCtHUSyTAK_5ganPu7J943KHTXcIkqSU9UY,3331
|
|
24
24
|
lightly_studio/api/routes/api/export.py,sha256=TIF8_JJCTHkob0Ugx_pkJoGqaHIMgA_SgcZ65N9Axx0,2411
|
|
25
25
|
lightly_studio/api/routes/api/features.py,sha256=X3o_iCSLK6f32ctwVQQAKQolUYRA_9SyM7QPKNtPoD8,477
|
|
@@ -34,17 +34,17 @@ lightly_studio/api/routes/api/annotations/__init__.py,sha256=O06o1vsFZAHMO9DnrtA
|
|
|
34
34
|
lightly_studio/api/routes/api/annotations/create_annotation.py,sha256=njncfS7ui95w3Vg3HF1FpmyDUPlsnG-Vm1ZGYPaRgoM,1510
|
|
35
35
|
lightly_studio/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
36
36
|
lightly_studio/core/add_samples.py,sha256=5R5MNcBuP7ioMZC5TTqNdoSHWB0s6epqv_pyLuXABRk,18961
|
|
37
|
-
lightly_studio/core/dataset.py,sha256=
|
|
38
|
-
lightly_studio/core/sample.py,sha256=
|
|
37
|
+
lightly_studio/core/dataset.py,sha256=Uf8SxeWkuY-zA46qgze47R3tVGj5S0CL84HfZE5uhH8,22137
|
|
38
|
+
lightly_studio/core/sample.py,sha256=rsjyyULS5susd9WqF5KDtukxDl_FwZfcnhpbtaMOtVU,7575
|
|
39
39
|
lightly_studio/core/start_gui.py,sha256=ZwO76xMTfHp8ztYzBuRHnNcRAWZoN5KMDQkJ4NayR8w,1605
|
|
40
|
-
lightly_studio/core/dataset_query/__init__.py,sha256=
|
|
40
|
+
lightly_studio/core/dataset_query/__init__.py,sha256=EMZ7sfyEXLgL88Pqw3oAmq0npAZNZ06w1YXpk7Uo9y4,308
|
|
41
41
|
lightly_studio/core/dataset_query/boolean_expression.py,sha256=pDRYTcNoaUcPrVjbxz5vut_TMa5kK7vP73DPfof-gxc,2041
|
|
42
|
-
lightly_studio/core/dataset_query/dataset_query.py,sha256=
|
|
42
|
+
lightly_studio/core/dataset_query/dataset_query.py,sha256=1In7Oa6hArKi3zqAjVQqyzl0yE5FthA1mYeqkiEa2lw,11430
|
|
43
43
|
lightly_studio/core/dataset_query/field.py,sha256=aKTeiVWcFyc22VO8v79j01CkcfdaLHIl70pn7aTa3Cg,3825
|
|
44
44
|
lightly_studio/core/dataset_query/field_expression.py,sha256=tfu0nwHwbUc1W4kcsDuurR60aJLLVWFwZh1zP3OqhM8,2502
|
|
45
45
|
lightly_studio/core/dataset_query/match_expression.py,sha256=hAsYjxcwon-3iU3pdI0gUa3XRbmxnHT1xwSI18zCdC4,651
|
|
46
46
|
lightly_studio/core/dataset_query/order_by.py,sha256=DJFOyMF3ZYpowi8kZZ4wjjLGboS0qcTVF7AlzXE8PO0,2278
|
|
47
|
-
lightly_studio/core/dataset_query/sample_field.py,sha256=
|
|
47
|
+
lightly_studio/core/dataset_query/sample_field.py,sha256=3GYaaB_FWxRjxstUd9zsfK04mRlvzrRcSzGgwHqmyqE,1173
|
|
48
48
|
lightly_studio/core/dataset_query/tags_expression.py,sha256=ZOKbhiDM9CmPfyJipzz3HzQ1AC_mz6VGxXKNPL-vjY8,1369
|
|
49
49
|
lightly_studio/dataset/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
50
50
|
lightly_studio/dataset/edge_embedding_generator.py,sha256=obLsDHxOId9QM-MAaZqDOujJArfjp-eJMgeucWBUjos,4552
|
|
@@ -53,15 +53,14 @@ lightly_studio/dataset/embedding_manager.py,sha256=QBN6ev_PhaP0wFqTfjOkYbV6zqxkw
|
|
|
53
53
|
lightly_studio/dataset/env.py,sha256=YghE9ehKG03gol_QcUuj2J6d9A8V4fASxXVZQ93Rv-o,814
|
|
54
54
|
lightly_studio/dataset/file_utils.py,sha256=_hd9NSs21Ib1-MuBOKNz1Cu6psUdFIXWHRscNQ-Ch8g,1245
|
|
55
55
|
lightly_studio/dataset/fsspec_lister.py,sha256=WezfO5KiiFoiCSBh3aocrPSbDZBauOxWuh0qaEkOb5g,8779
|
|
56
|
-
lightly_studio/dataset/loader.py,sha256=koI1-DwCvgueyhL_2TFBC0M9NFAsxKaLtsV_7pgrkbc,20227
|
|
57
56
|
lightly_studio/dataset/mobileclip_embedding_generator.py,sha256=9WUfxroBNguOSESJgj3vzlF3oHFRr-II-xdr__jpo6I,5030
|
|
58
57
|
lightly_studio/dist_lightly_studio_view_app/apple-touch-icon-precomposed.png,sha256=UUbtebSGy54c3N14FM0irnjnDOsw-ga0zZoWzxIbyeY,1571
|
|
59
58
|
lightly_studio/dist_lightly_studio_view_app/apple-touch-icon.png,sha256=UUbtebSGy54c3N14FM0irnjnDOsw-ga0zZoWzxIbyeY,1571
|
|
60
59
|
lightly_studio/dist_lightly_studio_view_app/favicon.png,sha256=UUbtebSGy54c3N14FM0irnjnDOsw-ga0zZoWzxIbyeY,1571
|
|
61
|
-
lightly_studio/dist_lightly_studio_view_app/index.html,sha256=
|
|
62
|
-
lightly_studio/dist_lightly_studio_view_app/_app/env.js,sha256=
|
|
63
|
-
lightly_studio/dist_lightly_studio_view_app/_app/version.json,sha256
|
|
64
|
-
lightly_studio/dist_lightly_studio_view_app/_app/immutable/assets/0.
|
|
60
|
+
lightly_studio/dist_lightly_studio_view_app/index.html,sha256=KA8WnchNjSOcdFrvNcogYTHP7KAWEdhaI-ZqabQlEkI,1841
|
|
61
|
+
lightly_studio/dist_lightly_studio_view_app/_app/env.js,sha256=Xg3SNcoyYvSqt6tRd5aj-OZUAqgddCKxZvuy_H0BbJk,233
|
|
62
|
+
lightly_studio/dist_lightly_studio_view_app/_app/version.json,sha256=9Y1oBwUxqxuahOvWLxkSUOb37kyVpLSDH3oKfoznWp4,27
|
|
63
|
+
lightly_studio/dist_lightly_studio_view_app/_app/immutable/assets/0.B-Bn8V7R.css,sha256=lUUF339VZgMg0E_9v5CEKN7KsEap2EdJaEnfoPNHjMY,54946
|
|
65
64
|
lightly_studio/dist_lightly_studio_view_app/_app/immutable/assets/2.CkOblLn7.css,sha256=QamuVSgnZ34DwGDxV7dbBGGflITlyMyJD3tjTMeedvE,96
|
|
66
65
|
lightly_studio/dist_lightly_studio_view_app/_app/immutable/assets/LightlyLogo.BNjCIww-.png,sha256=Hu4gPw9s4pxEOk85ro5VjB4GKLoiMrQCT2LB4cFtpg8,17123
|
|
67
66
|
lightly_studio/dist_lightly_studio_view_app/_app/immutable/assets/OpenSans-Bold.DGvYQtcs.ttf,sha256=vHPEXlgQoJcevq7062w13shGB9vgLaZ1f59D2Vi22l8,130860
|
|
@@ -70,60 +69,61 @@ lightly_studio/dist_lightly_studio_view_app/_app/immutable/assets/OpenSans-Mediu
|
|
|
70
69
|
lightly_studio/dist_lightly_studio_view_app/_app/immutable/assets/OpenSans-Regular.DxJTClRG.ttf,sha256=ZTBIAnfaYu_eBH6ybnin5TLRz67skWA-aNY4drlmnw0,130832
|
|
71
70
|
lightly_studio/dist_lightly_studio_view_app/_app/immutable/assets/OpenSans-SemiBold.D3TTYgdB.ttf,sha256=5gMTXMOxIAxyYLNPN_nLHyF4pCs2MDfiah4YJ2q3i_A,130760
|
|
72
71
|
lightly_studio/dist_lightly_studio_view_app/_app/immutable/assets/OpenSans-VariableFont_wdth_wght.BZBpG5Iz.ttf,sha256=E3RLvAefD0kuT7OxShXSQrjZYA-qzUI9WM35N_6nzms,529700
|
|
73
|
-
lightly_studio/dist_lightly_studio_view_app/_app/immutable/assets/Samples.
|
|
74
|
-
lightly_studio/dist_lightly_studio_view_app/_app/immutable/assets/_layout.7Ma7YdVg.css,sha256=rgWwyf_JO3hv9PGD4wNVrIexdE20yKy3LUUq6MNLWZw,53111
|
|
72
|
+
lightly_studio/dist_lightly_studio_view_app/_app/immutable/assets/Samples.CTl60pQb.css,sha256=VbXRagoJC3pZ7aYGXDHlq90JtbCJzFY9jFWcmTY2V00,1378
|
|
75
73
|
lightly_studio/dist_lightly_studio_view_app/_app/immutable/assets/_layout.CefECEWA.css,sha256=Iae7LyxeYJ_GTH3bExOeQsso2C0M0FEM1cpWjpon4Ek,384
|
|
76
|
-
lightly_studio/dist_lightly_studio_view_app/_app/immutable/assets/
|
|
77
|
-
lightly_studio/dist_lightly_studio_view_app/_app/immutable/
|
|
74
|
+
lightly_studio/dist_lightly_studio_view_app/_app/immutable/assets/_layout.CxuTMeYy.css,sha256=Q2Cy59DI0WnSQNz-4d5sC-V35FJ7ybT8S4KXZwmylss,55006
|
|
75
|
+
lightly_studio/dist_lightly_studio_view_app/_app/immutable/assets/transform.Bte-FZ4V.css,sha256=w44WNTSoE995TF3UkoVpsq_VrT2rDh7KLIKwJZa0sso,1666
|
|
78
76
|
lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/69_IOA4Y.js,sha256=ZeRHEle237-CUEan-VArVExxfKi9XafXM591ylj_ecs,34
|
|
79
|
-
lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/
|
|
77
|
+
lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/7XnHnNk_.js,sha256=1Y--SGtZolN3DXUKaQaNejl5GPiRDmkLadH76R7cyw8,1420
|
|
80
78
|
lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/B90CZVMX.js,sha256=NSrXzdg71WFiRRhYQIfnoZLpblfPyXvuXXCWIJ1-FQ4,110
|
|
81
|
-
lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/
|
|
82
|
-
lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/
|
|
79
|
+
lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/BDE1kT04.js,sha256=cGg28tBjVDXUYse1XAnlZtXghIduZtp-NY_0dg_0R0Y,23333
|
|
80
|
+
lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/BHoO7UL_.js,sha256=g9k-MH1_P2MbRy0gqWWmLNgi-mhQw82WSnDYFgpWEG0,32473
|
|
81
|
+
lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/BTpMiPuk.js,sha256=wptw8x_3aKkh9c51UvRSJWYWCTfj8URSblnxjIzMHw8,2310
|
|
82
|
+
lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/BbG6fgnL.js,sha256=bij8wOJOJGYsrAxSd0NPKfVT-pAMvoBh-H3RK2wo1xc,7448
|
|
83
|
+
lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/Bip0vTKl.js,sha256=ZymLwl4XS83pbqq9sr_EGRkpQpurE03pq2TvX8HbqcA,2594
|
|
84
|
+
lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/BzYRexN9.js,sha256=tP65O6oDJSdK1DDFKzacu-oXlr5Wq5wa_oe1bYx6U_Q,1475
|
|
83
85
|
lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/C1FmrZbK.js,sha256=3avQjvGJbdB6LCqNAamWPRgdza8dPLkXsyGWXDk33ek,1141
|
|
84
|
-
lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/
|
|
86
|
+
lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/C3xJX0nD.js,sha256=R7z3Fx99cIYjOv3titdHLbXiZIHHL6ohaPfXhsKb4OM,23952
|
|
87
|
+
lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/C5oezL0m.js,sha256=Sthj74nMH9-b7H4iVdwfmcRSd4BWMOkVCMg5gOtg4kY,3633
|
|
88
|
+
lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/CANX9QXL.js,sha256=ZYpI0-zVqghu2ZAjU9MQM95gybBWIaz2aHenhSI4n0I,14152
|
|
89
|
+
lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/CAPx0Bfm.js,sha256=IY0eMWmjEFMNxe4cq6Yowi9hr1Z9ycCSXef6jWdYVhk,1543
|
|
90
|
+
lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/CEPpkZIV.js,sha256=iKUqjhoXFuoxgQChNyHWKx-TsHZiOZY-EXo0o42RQFY,11144
|
|
85
91
|
lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/CWj6FrbW.js,sha256=U8gujwcJTusJSlmztmyz71B67fviyXJdA4sx4tz-wvY,106
|
|
86
92
|
lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/CYgJF_JY.js,sha256=wIbvC8qcEbFh6Wuxi6tST_Zensm43mTMXLYV4HCoGjI,336
|
|
87
|
-
lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/
|
|
88
|
-
lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/
|
|
89
|
-
lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/
|
|
90
|
-
lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/
|
|
91
|
-
lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/
|
|
92
|
-
lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/
|
|
93
|
-
lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/
|
|
93
|
+
lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/ChO13USc.js,sha256=YiEgPrdwQVM1P_x9wfpC2DXTeV1Vr71K6cu2c0i_4vU,25576
|
|
94
|
+
lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/Cj4nZbtb.js,sha256=WVZaKbhOyMr6aMAW57YgmknFYIO2rY_cnCW61afA3h8,512
|
|
95
|
+
lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/CmNXvs5e.js,sha256=dZjOn81frtuITd8UsgEXCbg21s2dxSetX4AphUc4Prg,971
|
|
96
|
+
lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/CpbA3HU7.js,sha256=Z67NC1iRcynQRdfqr01BsqrXJPbJwWA6p0yDOa_R1WA,7347
|
|
97
|
+
lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/D9WxTSWa.js,sha256=-82BgMzSwGnU6MoLQyVthi_oPzXbNrGJjXfsDQ3UfdE,313
|
|
98
|
+
lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/DELrRF6e.js,sha256=4LzclLOljyq2NdRozeS2lh6EQ9f9LPZQAOyefdorIJg,867
|
|
99
|
+
lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/DFib3GIP.js,sha256=dtLADUCpTrQEtWkbTwEX2SGGetfLRnPg25m7hdViI74,2004
|
|
94
100
|
lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/DIeogL5L.js,sha256=Ux-9DG7TuJMhTle8qli8iEz061qYxmM9ZlDzFdqSTc8,62
|
|
95
|
-
lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/
|
|
96
|
-
lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/
|
|
97
|
-
lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/
|
|
98
|
-
lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/
|
|
99
|
-
lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/
|
|
100
|
-
lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/
|
|
101
|
-
lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/
|
|
102
|
-
lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/
|
|
103
|
-
lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/
|
|
104
|
-
lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/
|
|
105
|
-
lightly_studio/dist_lightly_studio_view_app/_app/immutable/
|
|
106
|
-
lightly_studio/dist_lightly_studio_view_app/_app/immutable/
|
|
107
|
-
lightly_studio/dist_lightly_studio_view_app/_app/immutable/
|
|
108
|
-
lightly_studio/dist_lightly_studio_view_app/_app/immutable/
|
|
109
|
-
lightly_studio/dist_lightly_studio_view_app/_app/immutable/
|
|
110
|
-
lightly_studio/dist_lightly_studio_view_app/_app/immutable/
|
|
111
|
-
lightly_studio/dist_lightly_studio_view_app/_app/immutable/
|
|
112
|
-
lightly_studio/dist_lightly_studio_view_app/_app/immutable/
|
|
113
|
-
lightly_studio/dist_lightly_studio_view_app/_app/immutable/
|
|
114
|
-
lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/
|
|
115
|
-
lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/
|
|
116
|
-
lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/
|
|
117
|
-
lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/
|
|
118
|
-
lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/
|
|
119
|
-
lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/
|
|
120
|
-
lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/
|
|
121
|
-
lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/4.D8X_Ch5n.js,sha256=x1Yt8sIo32sf78QJx0yDhzmSjeJkhblRB04lAEnTxoI,595
|
|
122
|
-
lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/5.CAXhxJu6.js,sha256=TKCyOlezugvo99WTiwXY2M0Ur5q5FroVuiLFtDRpS0Q,15915
|
|
123
|
-
lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/6.DRA5Ru_2.js,sha256=wwCqLyc_Kaq8BJ56WFLdSPihfUn4sn820N9-KW2vz98,555
|
|
124
|
-
lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/7.WVBsruHQ.js,sha256=eBhqxFSSKo1tJirHyALMIGZZJhViAzGDKB4yVgEpBEo,942
|
|
125
|
-
lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/8.BuKUrCEN.js,sha256=pyfo4OqJ9ekTeVOnPyabOnbNnIA_fr2nkO5NdLSpvDI,15214
|
|
126
|
-
lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/9.CUIn1yCR.js,sha256=tnJ1kQpb3MkhQJHCoDNDB1Vmw77j-EvWB230hZMUmr4,756
|
|
101
|
+
lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/DNJnBfHs.js,sha256=zQI-YV4NBHz93ikzt_JwEiyUQuB66cau9daWLzoA6qM,1515
|
|
102
|
+
lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/DVxjPOJB.js,sha256=fRwXPiNBKARDDMHe2s1vvV59cGdBPUHeMiqBBCHJdk4,207
|
|
103
|
+
lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/DeAqvaPB.js,sha256=KtrEGoT_QWW-d2iV4QQn0gi4BDpb4uFaOqLwkttVfDM,725
|
|
104
|
+
lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/DgCXCApo.js,sha256=zUNdfJT7olL-B9cvVpc5QisKNg6cgkEgvDF33bgWPHg,511035
|
|
105
|
+
lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/DmGM9V9Q.js,sha256=VsAORlgY14_5HJ_Rmlx9zGFsl7okWn75BaD5dineRWc,1427
|
|
106
|
+
lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/DoEId1MK.js,sha256=WVKk5FU4qBbvnCFPC7FCrdXFohpKM34LZQMU7M8A6hk,198
|
|
107
|
+
lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/DqhovIS0.js,sha256=9Np2Xv_7ZkGbdU7XNMobPphLdgyxOJ1e7r8gZfg6dGs,12901
|
|
108
|
+
lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/SiegjVo0.js,sha256=vAueze4NjBbWRMBVHcK6Qvh8Coi-UaRUtcRde1akivk,1547
|
|
109
|
+
lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/gBp1tBnA.js,sha256=LCr8q3AYFPCP-D1O5iReNceOlhB1I5Nr99ku7-Q9PC0,6381
|
|
110
|
+
lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/xQhUoIl9.js,sha256=kZdokLevzU6CkIiqzEyyg-uZvOgm5wdy85-9FEfg5_E,2905
|
|
111
|
+
lightly_studio/dist_lightly_studio_view_app/_app/immutable/entry/app.CED-eiXl.js,sha256=3DMbNepea3yD5_vl-iBEhbrcIPavcfyYE7-lRMRbsmo,9223
|
|
112
|
+
lightly_studio/dist_lightly_studio_view_app/_app/immutable/entry/start.D6UcpqyO.js,sha256=dO9ioDxcoglZ_8Zn2PhTJm_mZ3AIJtrw_I-EL4Nx5jA,83
|
|
113
|
+
lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/0.waSqEGqm.js,sha256=08kmtmx66nWr6yyPSPEb-MAsjeodEaRHv406hLLAKf4,193838
|
|
114
|
+
lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/1.Bb_sKkYl.js,sha256=ONHjcazxADLWD-RxnglaTJDBIpNg2J6dtvHxFaxDpok,544
|
|
115
|
+
lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/10.D9Uicmfq.js,sha256=_KBl7AIkz4g86a175BE2gqIXdo7Hg6wAfCAlxmYbXpY,726
|
|
116
|
+
lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/11.DKnK0EcJ.js,sha256=PHOC3vE_5k6eBtwZRsAcVcaBVPh8zIoDlrdbKGex-1w,1004
|
|
117
|
+
lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/12.CWG1ehzT.js,sha256=Z_ycfijsaOCIM9oWR-PD0RPyMfgqfQqKKXMjr3Xmt_g,99
|
|
118
|
+
lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/13.D7dGgxYC.js,sha256=Lrk8hGeV3PldqEM0jVFQFEYxnto-XOicv2ZMlv6xd2k,2947
|
|
119
|
+
lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/2.BzK1sjoM.js,sha256=hY9Q1bpIT25UYlRamC41obQ68sfHMVUgxvEEfn5FV_8,1391641
|
|
120
|
+
lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/3.B08UPFst.js,sha256=vnR9x74B3Ree1d9YA5piq17i9Id-wFFkMrAf8m31uyg,468
|
|
121
|
+
lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/4.C19_Nx95.js,sha256=TKN-mHjMiqwUxZ9pAbEbibObQ62S7PGGGXMjMit3RNA,595
|
|
122
|
+
lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/5.B2cR7brs.js,sha256=wroEM0fKEiJg_llA1K6RgwHx3rcxbOqfzusX0UjFJVY,19061
|
|
123
|
+
lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/6.C9Y2LZxG.js,sha256=eDtKZ-HowymiCVt80Z_GtS2Ryppwa34hRpdkAqqYTmM,555
|
|
124
|
+
lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/7.CEbWmgIF.js,sha256=-mSQamwR1EKxeCoNfPquYCkibQNI7rq7BcPE0BB1TVU,942
|
|
125
|
+
lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/8.Con-GcPz.js,sha256=RoXrgLaNf0UUDe2CGjeIjkFnHu6JOv5oQjHFEtqwduA,15778
|
|
126
|
+
lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/9.DW7FBNNH.js,sha256=VDv9Tb71BsobEBlGUkeVFQWB7nCMiuDPxNtvB7cpR5U,8111
|
|
127
127
|
lightly_studio/dist_lightly_studio_view_app/_app/immutable/workers/clustering.worker-DKqeLtG0.js,sha256=08mMV2xxdfpfu9xPDbULd30WqpVC3GxitrqDieK3Qt0,256061
|
|
128
128
|
lightly_studio/dist_lightly_studio_view_app/_app/immutable/workers/search.worker-vNSty3B0.js,sha256=r7YWmAkJU793Lre4Mb7Vb3gvqQYwYYao_icJLrQFFbA,50997
|
|
129
129
|
lightly_studio/examples/example.py,sha256=YRmIFUl7zkgoqce3XW7tOZzdhb3479mF3wCT3PwsM6U,690
|
|
@@ -145,30 +145,32 @@ lightly_studio/metadata/gps_coordinate.py,sha256=FcUGhh0HiFI2FHPu_L9ylbaxbgctvu0
|
|
|
145
145
|
lightly_studio/metadata/metadata_protocol.py,sha256=kk9x2ZN2uAugnukU4OtEWL9JaW04sUyhM8NoQj8e-XE,554
|
|
146
146
|
lightly_studio/models/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
147
147
|
lightly_studio/models/annotation_label.py,sha256=oMOai50vyXOccgAONAvfQPPxiTwPFibgPtDXjT1nK58,1272
|
|
148
|
-
lightly_studio/models/caption.py,sha256=
|
|
148
|
+
lightly_studio/models/caption.py,sha256=PFQilOeFhiRoqypn0SjSHaHY9UFkwYICbGwHezSp5AM,1843
|
|
149
149
|
lightly_studio/models/classifier.py,sha256=jSyEEvVhE2pQbkup1kAcdJaXBQSDSBfS1kXbpC3OOXc,446
|
|
150
|
-
lightly_studio/models/dataset.py,sha256=
|
|
150
|
+
lightly_studio/models/dataset.py,sha256=uW6pcjOmmHByXp2-h6qjTf1HQbHX6udLe5XJbJ-22X4,2934
|
|
151
151
|
lightly_studio/models/embedding_model.py,sha256=nlCxVyuBNDooYfnyFUmPd5xIOpaY7x1o_w2FrJg0hCI,995
|
|
152
152
|
lightly_studio/models/metadata.py,sha256=oFlMCYTDAnhY684nLrIqeFKeKdZVbUwNFaUXv52UaCo,6587
|
|
153
|
-
lightly_studio/models/sample.py,sha256=
|
|
153
|
+
lightly_studio/models/sample.py,sha256=l_oJP6QF3cLbAlaTfHpT_VraxfERwRsxnmjyrG6prU0,5935
|
|
154
154
|
lightly_studio/models/sample_embedding.py,sha256=2rCnT1bLpAYsGqeewTqvLDP4TBALKpgZl-UJY7q0M9k,1090
|
|
155
|
-
lightly_studio/models/settings.py,sha256=
|
|
155
|
+
lightly_studio/models/settings.py,sha256=3Pb8FI2Q4AP9iFmh30e8oAWb9SCZvWoAAzOIK1MHXo8,1864
|
|
156
156
|
lightly_studio/models/tag.py,sha256=gdKjEKx_6uRs09SegzeVbssaeOEEiLvrwPG2u65WNxo,2479
|
|
157
|
+
lightly_studio/models/two_dim_embedding.py,sha256=YmV85n5NiDLSshmtVuaYysqnI1S0JOl2CUl1FvZqV_o,502
|
|
157
158
|
lightly_studio/models/annotation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
158
|
-
lightly_studio/models/annotation/annotation_base.py,sha256=
|
|
159
|
+
lightly_studio/models/annotation/annotation_base.py,sha256=GPw4ZM3oAbCF73Mtmkdjv-nF1XKTg3XhFkWHiiLF_9M,5488
|
|
159
160
|
lightly_studio/models/annotation/instance_segmentation.py,sha256=URv5sOyBHsxmYX2huqlW7qDHuDCzL3LRBqmSzG8pSsw,1596
|
|
160
161
|
lightly_studio/models/annotation/links.py,sha256=FoFGeoznbr8gHVrJo4l4xSvs7ko4SS2ddMQl1SiRRXQ,510
|
|
161
162
|
lightly_studio/models/annotation/object_detection.py,sha256=lOvkt8uyPqXljy7oUmXx9_3IB1xdpjuVAxRQVgugsp8,1114
|
|
162
163
|
lightly_studio/models/annotation/semantic_segmentation.py,sha256=HVM3djqtM1KNq2mFYcDfjmNz8Fs3glEVjUOQ5tj5FFs,1348
|
|
163
164
|
lightly_studio/resolvers/__init__.py,sha256=fMGTt_WiKFrqk6W8UlCkZL_cZBHiUej4Q0pxHS3VWdo,137
|
|
164
165
|
lightly_studio/resolvers/caption_resolver.py,sha256=sEDhOR4gKfrWQduAOviFqxEsMQHT_2GBjXkAZ-4ag9Y,2283
|
|
165
|
-
lightly_studio/resolvers/dataset_resolver.py,sha256=
|
|
166
|
+
lightly_studio/resolvers/dataset_resolver.py,sha256=IGOypjUBkM48CfDRCiIk7TGBg5iDRgV67YRkBdGW1k8,10822
|
|
166
167
|
lightly_studio/resolvers/embedding_model_resolver.py,sha256=GfcsSYj8Dw1WwFh0Zz4NPEPF2EgNJXTosTKW7_uo2YQ,4391
|
|
167
|
-
lightly_studio/resolvers/sample_embedding_resolver.py,sha256=
|
|
168
|
-
lightly_studio/resolvers/sample_resolver.py,sha256=
|
|
168
|
+
lightly_studio/resolvers/sample_embedding_resolver.py,sha256=JFA1dhHJoUB8c2mzbJcgWRPX9G7hewytthoYt20ufNM,4502
|
|
169
|
+
lightly_studio/resolvers/sample_resolver.py,sha256=gyEQGvYcAc5-MfUjnjgj5WIbth9tw92ijtRut92cKU8,10896
|
|
169
170
|
lightly_studio/resolvers/samples_filter.py,sha256=DCvOuve9S_R4ttr-o3nHpowjgZI60tbwVAVALbqbQQ0,3482
|
|
170
|
-
lightly_studio/resolvers/settings_resolver.py,sha256=
|
|
171
|
+
lightly_studio/resolvers/settings_resolver.py,sha256=mqgING_DwWW8MH7rneIaZV0xgK8BIcYubqlJQRzBBdE,1745
|
|
171
172
|
lightly_studio/resolvers/tag_resolver.py,sha256=PuMQflQ-PumQF96EwAUcVkSIeFzi11JeqJDnXYwyyic,8782
|
|
173
|
+
lightly_studio/resolvers/twodim_embedding_resolver.py,sha256=-YJDodEIG2vtDkzMJuuvqUkm5drszuj5_4bTKW_9P8w,4797
|
|
172
174
|
lightly_studio/resolvers/annotation_label_resolver/__init__.py,sha256=c0NxLRVKQYKxnPuGEI8dO-dBE610QxH0Vkz0oQwDwsI,555
|
|
173
175
|
lightly_studio/resolvers/annotation_label_resolver/create.py,sha256=q2vrnOXd8S6FMp6BrM-d4Kz_ydeo9n-0gFZSOM-sY7E,750
|
|
174
176
|
lightly_studio/resolvers/annotation_label_resolver/delete.py,sha256=uGpcC_PG96MdHxNdmv-1-PhxUrAy6A3bC4f8twwZ4Tw,653
|
|
@@ -183,7 +185,7 @@ lightly_studio/resolvers/annotation_resolver/count_annotations_by_dataset.py,sha
|
|
|
183
185
|
lightly_studio/resolvers/annotation_resolver/create_many.py,sha256=0lBfnC0kDwY6t105lkCFHLFOuyPQGD2wYSCYttjc0Uk,3783
|
|
184
186
|
lightly_studio/resolvers/annotation_resolver/delete_annotation.py,sha256=_PugnfgDMTk7UNZzHb5_ZCgbUlSSd1JpS_yY1lGyxkw,1371
|
|
185
187
|
lightly_studio/resolvers/annotation_resolver/delete_annotations.py,sha256=PwBkkuiYLpZVr_B0VdlL_SegKB6CSAk0B67yCFIjCf4,2114
|
|
186
|
-
lightly_studio/resolvers/annotation_resolver/get_all.py,sha256=
|
|
188
|
+
lightly_studio/resolvers/annotation_resolver/get_all.py,sha256=h4ppGG3WzdIEoLT2MAk7aaFTm4LggBmMUx86xKqxpAg,2308
|
|
187
189
|
lightly_studio/resolvers/annotation_resolver/get_by_id.py,sha256=chL9xS-4wR4BtFvn1Cf13GoqgFvKbr8-q7NHVce0FdY,1088
|
|
188
190
|
lightly_studio/resolvers/annotation_resolver/update_annotation_label.py,sha256=2KL1SsoofZTMWjmKuKqe09TtquuzkmnSkxuJg8Ftk9Y,5388
|
|
189
191
|
lightly_studio/resolvers/annotation_resolver/update_bounding_box.py,sha256=6Mok2dKXFSkFN3bSSd4TO_nUTTMKq83EN5aL5nocQQc,2280
|
|
@@ -197,11 +199,11 @@ lightly_studio/resolvers/metadata_resolver/sample/get_by_sample_id.py,sha256=CaI
|
|
|
197
199
|
lightly_studio/resolvers/metadata_resolver/sample/get_metadata_info.py,sha256=RwIv4GNcH0V3Oam8eH8Kh1S0m5kQkf1jtZ0r5XFeQHs,3314
|
|
198
200
|
lightly_studio/resolvers/metadata_resolver/sample/get_value_for_sample.py,sha256=NbPANvsFAyKvutYSC97HSFmmOmiNKcOU71zXmP3IRUU,702
|
|
199
201
|
lightly_studio/resolvers/metadata_resolver/sample/set_value_for_sample.py,sha256=HNs5t8VACf9h_qJ69R_h34K1TPGa7UjQokkpEcl9530,1289
|
|
200
|
-
lightly_studio/selection/
|
|
201
|
-
lightly_studio/selection/mundig.py,sha256=
|
|
202
|
-
lightly_studio/selection/select.py,sha256=
|
|
202
|
+
lightly_studio/selection/__init__.py,sha256=2F8uoWEFsUuTmtVRJ10R7apF_ZIyVt2SgSFuDMNga90,25
|
|
203
|
+
lightly_studio/selection/mundig.py,sha256=WJkLj1MBKXcu4Uvb-4VhFWbGOlXdCTANfm1IEMAbFG8,5827
|
|
204
|
+
lightly_studio/selection/select.py,sha256=GUitaOOvTmUvkAgFLyX4bKprtloKybMLIBO_ir0ToLU,6511
|
|
203
205
|
lightly_studio/selection/select_via_db.py,sha256=tLmNLuPaQqzSqdvmEo0Mc8-sFNMptikG9eruXqXlblE,3621
|
|
204
|
-
lightly_studio/selection/selection_config.py,sha256=
|
|
206
|
+
lightly_studio/selection/selection_config.py,sha256=wVqkvmcrkSQuyYR_RlcvEXLrd2ed37opj_yUlSNSutU,910
|
|
205
207
|
lightly_studio/services/annotations_service/__init__.py,sha256=VRLb6c2KO2vCvfZ5r_PgVEZztV0d5PL-wrAIVxvQxBc,1010
|
|
206
208
|
lightly_studio/services/annotations_service/create_annotation.py,sha256=ClN4cJJqpdg1eN7KmzuKAkQBbPkJKWAYi2PKewyS_mE,1581
|
|
207
209
|
lightly_studio/services/annotations_service/delete_annotation.py,sha256=cDsE9fi0WSSGSRpwnATHpCJr8Dy7x2t9T8-pIesuSG0,604
|
|
@@ -237,6 +239,6 @@ lightly_studio/vendor/mobileclip/modules/image/replknet.py,sha256=kbcZTT3KAdpv7I
|
|
|
237
239
|
lightly_studio/vendor/mobileclip/modules/text/__init__.py,sha256=xIBdotHUSILUTw9Um4NfLunDEtNuQVKRcZlVhwJih38,104
|
|
238
240
|
lightly_studio/vendor/mobileclip/modules/text/repmixer.py,sha256=baFcHH8bLVeW2VET9gZvg2bUy080yLDVxDr4cuH2upg,9401
|
|
239
241
|
lightly_studio/vendor/mobileclip/modules/text/tokenizer.py,sha256=g569KONPF33J-2BWgghUy3Xcj0vDE-g00W1YpOZiGwk,1328
|
|
240
|
-
lightly_studio-0.
|
|
241
|
-
lightly_studio-0.
|
|
242
|
-
lightly_studio-0.
|
|
242
|
+
lightly_studio-0.4.1.dist-info/METADATA,sha256=BPOLy-jlRXvy1jt8SzCCdoMQYk1MlP12Zw0rt8PTjnE,3390
|
|
243
|
+
lightly_studio-0.4.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
244
|
+
lightly_studio-0.4.1.dist-info/RECORD,,
|