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.

Files changed (117) hide show
  1. lightly_studio/__init__.py +1 -2
  2. lightly_studio/api/db_tables.py +3 -0
  3. lightly_studio/api/features.py +3 -5
  4. lightly_studio/api/routes/api/dataset.py +5 -3
  5. lightly_studio/api/routes/api/dataset_tag.py +10 -0
  6. lightly_studio/api/routes/api/embeddings2d.py +6 -47
  7. lightly_studio/core/dataset.py +89 -2
  8. lightly_studio/core/dataset_query/__init__.py +14 -0
  9. lightly_studio/core/dataset_query/dataset_query.py +98 -2
  10. lightly_studio/core/dataset_query/sample_field.py +11 -2
  11. lightly_studio/core/sample.py +33 -1
  12. lightly_studio/db_manager.py +4 -2
  13. lightly_studio/dist_lightly_studio_view_app/_app/env.js +1 -1
  14. lightly_studio/dist_lightly_studio_view_app/_app/immutable/assets/0.B-Bn8V7R.css +1 -0
  15. lightly_studio/dist_lightly_studio_view_app/_app/immutable/assets/Samples.CTl60pQb.css +1 -0
  16. lightly_studio/dist_lightly_studio_view_app/_app/immutable/assets/_layout.CxuTMeYy.css +1 -0
  17. lightly_studio/dist_lightly_studio_view_app/_app/immutable/assets/transform.Bte-FZ4V.css +1 -0
  18. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/7XnHnNk_.js +1 -0
  19. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/BDE1kT04.js +2 -0
  20. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/{DQ8aZ1o-.js → BHoO7UL_.js} +2 -2
  21. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/{CZGpyrcA.js → BTpMiPuk.js} +1 -1
  22. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/BbG6fgnL.js +1 -0
  23. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/Bip0vTKl.js +1 -0
  24. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/{D_JuJOO3.js → BzYRexN9.js} +1 -1
  25. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/{Frwd2CjB.js → C3xJX0nD.js} +1 -1
  26. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/C5oezL0m.js +39 -0
  27. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/{H4l0JFh9.js → CANX9QXL.js} +1 -1
  28. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/CAPx0Bfm.js +1 -0
  29. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/CEPpkZIV.js +1 -0
  30. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/ChO13USc.js +96 -0
  31. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/{DzBTnFhV.js → Cj4nZbtb.js} +1 -1
  32. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/{Bqz7dyEC.js → CmNXvs5e.js} +1 -1
  33. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/CpbA3HU7.js +2 -0
  34. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/{DSxvnAMh.js → D9WxTSWa.js} +1 -1
  35. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/DELrRF6e.js +4 -0
  36. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/{sLqs1uaK.js → DFib3GIP.js} +1 -1
  37. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/{CSCQddQS.js → DNJnBfHs.js} +1 -1
  38. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/DVxjPOJB.js +1 -0
  39. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/DeAqvaPB.js +1 -0
  40. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/DgCXCApo.js +438 -0
  41. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/DmGM9V9Q.js +1 -0
  42. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/DoEId1MK.js +1 -0
  43. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/DqhovIS0.js +1 -0
  44. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/SiegjVo0.js +1 -0
  45. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/gBp1tBnA.js +1 -0
  46. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/xQhUoIl9.js +1 -0
  47. lightly_studio/dist_lightly_studio_view_app/_app/immutable/entry/app.CED-eiXl.js +2 -0
  48. lightly_studio/dist_lightly_studio_view_app/_app/immutable/entry/start.D6UcpqyO.js +1 -0
  49. lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/0.waSqEGqm.js +4 -0
  50. lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/{1.Cdy-7S5q.js → 1.Bb_sKkYl.js} +1 -1
  51. lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/10.D9Uicmfq.js +1 -0
  52. lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/11.DKnK0EcJ.js +1 -0
  53. lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/13.D7dGgxYC.js +1 -0
  54. lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/{2.BIldfkxL.js → 2.BzK1sjoM.js} +144 -105
  55. lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/{3.BC9z_TWM.js → 3.B08UPFst.js} +1 -1
  56. lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/{4.D8X_Ch5n.js → 4.C19_Nx95.js} +1 -1
  57. lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/5.B2cR7brs.js +39 -0
  58. lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/{6.DRA5Ru_2.js → 6.C9Y2LZxG.js} +1 -1
  59. lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/{7.WVBsruHQ.js → 7.CEbWmgIF.js} +1 -1
  60. lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/8.Con-GcPz.js +20 -0
  61. lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/9.DW7FBNNH.js +1 -0
  62. lightly_studio/dist_lightly_studio_view_app/_app/version.json +1 -1
  63. lightly_studio/dist_lightly_studio_view_app/index.html +13 -14
  64. lightly_studio/models/annotation/annotation_base.py +9 -0
  65. lightly_studio/models/caption.py +1 -0
  66. lightly_studio/models/dataset.py +6 -0
  67. lightly_studio/models/sample.py +8 -1
  68. lightly_studio/models/settings.py +5 -0
  69. lightly_studio/models/two_dim_embedding.py +16 -0
  70. lightly_studio/resolvers/annotation_resolver/get_all.py +3 -1
  71. lightly_studio/resolvers/dataset_resolver.py +20 -5
  72. lightly_studio/resolvers/sample_embedding_resolver.py +44 -2
  73. lightly_studio/resolvers/sample_resolver.py +2 -3
  74. lightly_studio/resolvers/settings_resolver.py +3 -0
  75. lightly_studio/resolvers/twodim_embedding_resolver.py +119 -0
  76. lightly_studio/selection/__init__.py +1 -0
  77. lightly_studio/selection/mundig.py +41 -0
  78. lightly_studio/selection/select.py +70 -1
  79. lightly_studio/selection/selection_config.py +1 -1
  80. lightly_studio-0.4.1.dist-info/METADATA +78 -0
  81. {lightly_studio-0.3.4.dist-info → lightly_studio-0.4.1.dist-info}/RECORD +83 -81
  82. lightly_studio/dataset/loader.py +0 -581
  83. lightly_studio/dist_lightly_studio_view_app/_app/immutable/assets/0.B3oFNb6O.css +0 -1
  84. lightly_studio/dist_lightly_studio_view_app/_app/immutable/assets/Samples.CIbricz7.css +0 -1
  85. lightly_studio/dist_lightly_studio_view_app/_app/immutable/assets/_layout.7Ma7YdVg.css +0 -1
  86. lightly_studio/dist_lightly_studio_view_app/_app/immutable/assets/transform.2jKMtOWG.css +0 -1
  87. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/-DXuGN29.js +0 -1
  88. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/B7302SU7.js +0 -1
  89. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/BeWf8-vJ.js +0 -1
  90. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/CfQ4mGwl.js +0 -1
  91. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/CiaNZCBa.js +0 -1
  92. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/Cqo0Vpvt.js +0 -417
  93. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/Cy4fgWTG.js +0 -1
  94. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/D5w4xp5l.js +0 -1
  95. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/DD63uD-T.js +0 -1
  96. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/D_ynJAfY.js +0 -2
  97. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/Dafy4oEQ.js +0 -1
  98. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/Dj4O-5se.js +0 -1
  99. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/DmjAI-UV.js +0 -1
  100. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/Dug7Bq1S.js +0 -1
  101. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/Dv5BSBQG.js +0 -1
  102. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/DzX_yyqb.js +0 -1
  103. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/H60ATh8g.js +0 -2
  104. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/qIv1kPyv.js +0 -1
  105. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/u-it74zV.js +0 -96
  106. lightly_studio/dist_lightly_studio_view_app/_app/immutable/entry/app.BPc0HQPq.js +0 -2
  107. lightly_studio/dist_lightly_studio_view_app/_app/immutable/entry/start.SNvc2nrm.js +0 -1
  108. lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/0.5jT7P06o.js +0 -1
  109. lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/10.C_uoESTX.js +0 -1
  110. lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/12.DcO8wIAc.js +0 -1
  111. lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/5.CAXhxJu6.js +0 -39
  112. lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/8.BuKUrCEN.js +0 -20
  113. lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/9.CUIn1yCR.js +0 -1
  114. lightly_studio/selection/README.md +0 -6
  115. lightly_studio-0.3.4.dist-info/METADATA +0 -879
  116. /lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/{11.CWG1ehzT.js → 12.CWG1ehzT.js} +0 -0
  117. {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
- """Selection interface for candidate sample ids."""
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=l04o5TZrSbEMkradiGnAG8KHsm8cBX1kwlsjgiSumQg,574
2
- lightly_studio/db_manager.py,sha256=lXazCGa1M3RaxvLmNJCLwh2kl1aOYblSei6Tu6Wh0pM,5182
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=mL92m47wgxdXAGvfXt4oAOy9R_Q3Vxe_7rPU_NmoMEo,1206
11
- lightly_studio/api/features.py,sha256=4iwYUj8KMvpC3nvA2bbJQnABacgFC9MfD0jX9hHeYm0,242
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=BIPd5OIhfODj6YIVJ1jhhTGKclJVvcdWlfczSZi0pJE,5357
21
- lightly_studio/api/routes/api/dataset_tag.py,sha256=5SwrguT5Ds4AkIlCLFPpbLYvkS_vVeB9j7VNDfh251c,7607
22
- lightly_studio/api/routes/api/embeddings2d.py,sha256=baPhzVs34gnAEq3PX4gTtCoiDO5Wb4o0nFwxts80s7E,5423
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=MT-Y71m39WZ_5m4eYviEzFaNqzDtKkeDl0MyhVkGD4A,18755
38
- lightly_studio/core/sample.py,sha256=I0ev9Ak1TXrzzWwUBOPokvv4zbzq_1dkR_ZsnURXob0,6503
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=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
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=s34gBmZVfxf7nv1Sfcde9ScPutfF1rgchHGPmZ4SRBM,7999
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=iaswBMsIQMuiVQu0Sus0-HW2w7ybbvUbEfWjcaXJs8w,917
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=5VRSh0SSFeh8hVQuzqILlmsqsPS5JRZ_nT_tLuZb3Ls,1912
62
- lightly_studio/dist_lightly_studio_view_app/_app/env.js,sha256=hLh9EQqXP13H3XQjod8C7qhob7-CvlByIRZBZ0M37fw,85
63
- lightly_studio/dist_lightly_studio_view_app/_app/version.json,sha256=-Nq08INEQIGOy998WDwc4PRQUrVQdMzMrrlOea9YRoQ,27
64
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/assets/0.B3oFNb6O.css,sha256=2cOkSWcAQRqIqSOkF3CeRkxdew5CyU-GVjGeq_GcsdI,53051
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.CIbricz7.css,sha256=cC8Kk73iF69o4ffgbez7Vyiv4t5v-CzRlsVsXSkMS1Q,819
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/transform.2jKMtOWG.css,sha256=7p_E1zLsA60z2S0U72W2Lxd_AxJ6IY5wXHURXaWPggM,1107
77
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/-DXuGN29.js,sha256=Lnrpd3bSsXNbHouKNbE4kElxMcfObz8TUCUWaJxSau8,1417
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/B7302SU7.js,sha256=EJ2kY3gKAMRYJM7kO1qjw9wyxSN98vYIT1WGI5JNfrk,227
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/BeWf8-vJ.js,sha256=SIyNmWPLr1XysrwLt8iIJcvtqcYIBtmKVOJRdbtX6Xs,9917
82
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/Bqz7dyEC.js,sha256=1Dc0otTiA5pHl9soZAQ_HBkFTcqMvBvbZLRw9GwqteI,971
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/CSCQddQS.js,sha256=WUDGcKtBFcjRPmH40GQsl2xRJlcQHWZQhTsJKsvw2Mk,1515
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/CZGpyrcA.js,sha256=OczW2hZdtQ-A-dpButvy6Qtxmh_Zz7IXi7IYWRDWwvE,2310
88
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/CfQ4mGwl.js,sha256=lhIayRp6S2E7KAs04hljI2p4VtK-DOj86q8c6kJkFP4,1120
89
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/CiaNZCBa.js,sha256=DkKEyMcaTvpJbsmHy7jqtQcd0aNxkuAlS4XbujUGMUo,1542
90
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/Cqo0Vpvt.js,sha256=49wdwOHZzY6AOZvdF2HebFbN2lbW-27sg3IfSIl3FUE,457619
91
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/Cy4fgWTG.js,sha256=96foUGOux1NNJXOnrrleeeIjlVsmjBvI7bmZugGm0I0,720
92
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/D5w4xp5l.js,sha256=LSWgMdUfrwnmd2jY1tJfUxfmYQXCB1IzOLXQSYtTT50,9899
93
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/DD63uD-T.js,sha256=JQ9HMuutbHmiKrq6xE0VXviRAQoHxAjwhsbbkltWMHg,12555
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/DQ8aZ1o-.js,sha256=nrmZr5zcmN9IpiCBkN_cTuyXtVjz1PZqAsPpEPjgrGo,32473
96
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/DSxvnAMh.js,sha256=ybs4OjINaBmyUHsbJDR5Ht1yZkKI2v-mtjJchBSTWqQ,313
97
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/D_JuJOO3.js,sha256=2nTWadStNUmu8_tQRbET2OMvuesMnLNFwgCHrTr4uyA,1475
98
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/D_ynJAfY.js,sha256=nW5WWy-gcn7IMBm8GdVyZT9XXLffSRtwaUMmUiZ1AUU,23229
99
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/Dafy4oEQ.js,sha256=JYzaXKx2TvVq2fi1fr9n8Lx-AG3QDhFWaltVsYSVE70,2900
100
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/Dj4O-5se.js,sha256=sBY2I-HxImhs7UVcwtwK9zud-sYumTjBp-gC0uHIDa0,7293
101
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/DmjAI-UV.js,sha256=0zhuevMdyIMX8vFEMov4GlKhq3YDWQoM04XiBm-EIHY,13385
102
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/Dug7Bq1S.js,sha256=daviAjTEp3uDoi9wkx4MOcBUn9E4JnCnI8TsECcaKUc,1552
103
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/Dv5BSBQG.js,sha256=dMHupMa510uj5C-NL-IOIw7JrdRqzWE1jLa-9Re70jc,207
104
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/DzBTnFhV.js,sha256=vd_rJ3PlVQeaG6M6bFWvMVSiBn3X4WB5bWfSLW3kU30,512
105
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/DzX_yyqb.js,sha256=N0QF7LgpQak8H75obJ4BlhCVAthv3Z6NdN9zqd8D-dQ,6478
106
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/Frwd2CjB.js,sha256=YO0IQQzg3t0zg9qTMpPOVXbnNzPlpyvwxCRTmoFKD3M,23952
107
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/H4l0JFh9.js,sha256=XDTY-nHj6VMGwcb7Kt25HZZIZEgo8h8hxsUVeckDwqg,14152
108
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/H60ATh8g.js,sha256=C8kFJeZzY4xDlbzNh9f7ALysw8rdsxFENSdpgJ9ptH4,7348
109
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/qIv1kPyv.js,sha256=9oo3qcviFgqek4fmv6Ye2jTi2ztuiX72XcAMdAcNsXI,2692
110
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/sLqs1uaK.js,sha256=e2B6ze9MQI19QUZwQvuxuPLansxy-juDD2X0doRbnMU,2004
111
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/u-it74zV.js,sha256=iIlMfQgM3DleJzdMYdcMaVWXCnyuzEXqtCHvzBNBDbk,22661
112
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/entry/app.BPc0HQPq.js,sha256=EdnYCrG40vms8ibzydFz2O4kvigObEIzLtUZiqE1E4w,8989
113
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/entry/start.SNvc2nrm.js,sha256=r6YitV31BV3Tk0CUSUoEE9s7t8vv0OC_bm9bfb0EWMc,83
114
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/0.5jT7P06o.js,sha256=9vtyWRvT96t9ohcpci_i1I44z3MPxMK-m8hP8MrF31I,35786
115
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/1.Cdy-7S5q.js,sha256=IvWS8ppbj74M8v6TQy6UAntUwc87NASdZzSUcF19ATQ,544
116
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/10.C_uoESTX.js,sha256=wyHSDhCTU6JfAMp8u1tOOGN1zGtPAeDpBDHilQ7qTOY,1034
117
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/11.CWG1ehzT.js,sha256=Z_ycfijsaOCIM9oWR-PD0RPyMfgqfQqKKXMjr3Xmt_g,99
118
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/12.DcO8wIAc.js,sha256=YYlV83y9RSy6Tyv61ti0fAa8fbSc2mJUt7LOW0VhTAk,2945
119
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/2.BIldfkxL.js,sha256=5GxkcI29yaxeNtbwf9iVUonWNJ9ga1MCr_l-BxGAdpw,1405910
120
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/3.BC9z_TWM.js,sha256=JSaA68P6aJn2Xs4XZhztm1G8bWU5guFYCClIiyHR_Dc,468
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=5wKFliFNCb3VB2j2gvEABsHeyDTUkxWgQOICr7TVs-g,1808
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=UzmzUz4GLRSyyVVxymQaAEwHFGFVeMNwkPoTforgA7g,2814
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=OBMfxfBpwgmNPaYlHuIGHypsDkvSpUJCu2kSfRk8kPM,5674
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=I0qC96sLi9-EJcgn6M00MdStISZius0X14Dp4Gc5P1I,1703
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=GhaxYdR3nMJ8Ih4z4XEB02WzfX4FIAGR9XlUlBFRLrY,5296
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=2-dY20Tm9W_XBq_ixBF1uokYGdjRL6oK9Gip55kEKVM,10375
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=M7Uw6Bv6XBHPXraV8ja_KpjJ35rQzlwGys-fAQLtwn0,2937
168
- lightly_studio/resolvers/sample_resolver.py,sha256=dS8khKwxmsvyc8tYfswYLIkq4UFLOKEqpdYo0st5WIk,10901
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=15mSvoBALtHps4un3s_dk2lB2F-e8v_II97vwn056sg,1628
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=6YqdcVesm_rHc2An1ZFbEefVBZnRiHe8MaCfYYRGVU4,2176
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/README.md,sha256=X9KTCy5GmLxpVmb-MELqpBQKhlRxaQ0aQt5i3fnAOKQ,320
201
- lightly_studio/selection/mundig.py,sha256=dRph7_lQbw4nTYqbvsAsPgUDD_TSZAOcYHWN6c2CLro,3991
202
- lightly_studio/selection/select.py,sha256=OQU8iw_h3qHRzq7L9rD2NlU56wRRosxJlZfdBa7EvGg,3663
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=AqnXdYy5tkQ45wUfJS_Fbdjk-l9y9-ubis-7oFBCPq0,903
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.3.4.dist-info/METADATA,sha256=XZyo48ppzR_s63AGgen0nVcApoGyWqkoe8jCmsrwt_Q,25725
241
- lightly_studio-0.3.4.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
242
- lightly_studio-0.3.4.dist-info/RECORD,,
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,,