wandb 0.17.0rc1__py3-none-macosx_10_9_x86_64.whl → 0.17.0rc2__py3-none-macosx_10_9_x86_64.whl
Sign up to get free protection for your applications and to get access to all the features.
- wandb/__init__.py +1 -1
- wandb/apis/reports/v1/_blocks.py +1 -1
- wandb/bin/apple_gpu_stats +0 -0
- wandb/bin/wandb-core +0 -0
- wandb/data_types.py +6 -3
- wandb/docker/__init__.py +1 -1
- wandb/env.py +3 -3
- wandb/integration/huggingface/resolver.py +2 -2
- wandb/integration/keras/callbacks/metrics_logger.py +1 -1
- wandb/integration/keras/keras.py +1 -1
- wandb/old/summary.py +1 -1
- wandb/plot/confusion_matrix.py +1 -1
- wandb/plots/precision_recall.py +1 -1
- wandb/plots/roc.py +1 -1
- wandb/sdk/data_types/_dtypes.py +8 -8
- wandb/sdk/data_types/image.py +1 -1
- wandb/sdk/data_types/video.py +1 -1
- wandb/sdk/integration_utils/data_logging.py +5 -5
- wandb/sdk/interface/interface.py +1 -1
- wandb/sdk/internal/job_builder.py +1 -1
- wandb/sdk/launch/_project_spec.py +3 -1
- wandb/sdk/launch/agent/agent.py +1 -1
- wandb/sdk/launch/builder/abstract.py +1 -1
- wandb/sdk/launch/builder/build.py +1 -1
- wandb/sdk/launch/builder/kaniko_builder.py +2 -2
- wandb/sdk/launch/registry/google_artifact_registry.py +1 -1
- wandb/sdk/launch/sweeps/scheduler.py +3 -3
- wandb/sdk/launch/sweeps/scheduler_sweep.py +1 -1
- wandb/sdk/launch/sweeps/utils.py +2 -2
- wandb/sdk/lib/import_hooks.py +1 -1
- wandb/sdk/lib/redirect.py +19 -14
- wandb/sdk/lib/tracelog.py +1 -1
- wandb/sdk/wandb_run.py +11 -8
- wandb/sdk/wandb_setup.py +1 -1
- wandb/sklearn/plot/classifier.py +6 -6
- wandb/sklearn/plot/clusterer.py +1 -1
- wandb/wandb_controller.py +2 -2
- {wandb-0.17.0rc1.dist-info → wandb-0.17.0rc2.dist-info}/METADATA +2 -2
- {wandb-0.17.0rc1.dist-info → wandb-0.17.0rc2.dist-info}/RECORD +42 -42
- {wandb-0.17.0rc1.dist-info → wandb-0.17.0rc2.dist-info}/WHEEL +0 -0
- {wandb-0.17.0rc1.dist-info → wandb-0.17.0rc2.dist-info}/entry_points.txt +0 -0
- {wandb-0.17.0rc1.dist-info → wandb-0.17.0rc2.dist-info}/licenses/LICENSE +0 -0
wandb/__init__.py
CHANGED
@@ -11,7 +11,7 @@ For scripts and interactive notebooks, see https://github.com/wandb/examples.
|
|
11
11
|
|
12
12
|
For reference documentation, see https://docs.wandb.com/ref/python.
|
13
13
|
"""
|
14
|
-
__version__ = "0.17.
|
14
|
+
__version__ = "0.17.0rc2"
|
15
15
|
|
16
16
|
|
17
17
|
# Used with pypi checks and other messages related to pip
|
wandb/apis/reports/v1/_blocks.py
CHANGED
@@ -1060,7 +1060,7 @@ class WeaveBlockArtifact(Block):
|
|
1060
1060
|
|
1061
1061
|
|
1062
1062
|
class WeaveBlockArtifactVersionedFile(Block):
|
1063
|
-
"""This is a hacky solution to support the most common way of getting Weave artifact
|
1063
|
+
"""This is a hacky solution to support the most common way of getting Weave artifact versions for now..."""
|
1064
1064
|
|
1065
1065
|
entity: str = Attr()
|
1066
1066
|
project: str = Attr()
|
wandb/bin/apple_gpu_stats
CHANGED
Binary file
|
wandb/bin/wandb-core
CHANGED
Binary file
|
wandb/data_types.py
CHANGED
@@ -191,7 +191,7 @@ class Table(Media):
|
|
191
191
|
):
|
192
192
|
"""Initializes a Table object.
|
193
193
|
|
194
|
-
The rows is
|
194
|
+
The rows is available for legacy reasons and should not be used.
|
195
195
|
The Table class uses data to mimic the Pandas API.
|
196
196
|
"""
|
197
197
|
super().__init__()
|
@@ -280,7 +280,10 @@ class Table(Media):
|
|
280
280
|
self.cast(col_name, dt, opt)
|
281
281
|
|
282
282
|
def cast(self, col_name, dtype, optional=False):
|
283
|
-
"""Casts a column to a specific data type.
|
283
|
+
"""Casts a column to a specific data type.
|
284
|
+
|
285
|
+
This can be one of the normal python classes, an internal W&B type, or an
|
286
|
+
example object, like an instance of wandb.Image or wandb.Classes.
|
284
287
|
|
285
288
|
Arguments:
|
286
289
|
col_name: (str) - The name of the column to cast.
|
@@ -763,7 +766,7 @@ class Table(Media):
|
|
763
766
|
|
764
767
|
Arguments:
|
765
768
|
name: (str) - the unique name of the column
|
766
|
-
data: (list | np.array) - a column of
|
769
|
+
data: (list | np.array) - a column of homogeneous data
|
767
770
|
optional: (bool) - if null-like values are permitted
|
768
771
|
"""
|
769
772
|
assert isinstance(name, str) and name not in self.columns
|
wandb/docker/__init__.py
CHANGED
@@ -289,7 +289,7 @@ def image_id_from_registry(image_name: str) -> Optional[str]:
|
|
289
289
|
|
290
290
|
|
291
291
|
def image_id(image_name: str) -> Optional[str]:
|
292
|
-
"""
|
292
|
+
"""Retrieve the image id from the local docker daemon or remote registry."""
|
293
293
|
if "@sha256:" in image_name:
|
294
294
|
return image_name
|
295
295
|
else:
|
wandb/env.py
CHANGED
@@ -16,7 +16,7 @@ import sys
|
|
16
16
|
from pathlib import Path
|
17
17
|
from typing import List, MutableMapping, Optional, Union
|
18
18
|
|
19
|
-
import
|
19
|
+
import platformdirs # type: ignore
|
20
20
|
|
21
21
|
Env = Optional[MutableMapping]
|
22
22
|
|
@@ -385,7 +385,7 @@ def get_magic(
|
|
385
385
|
|
386
386
|
|
387
387
|
def get_data_dir(env: Optional[Env] = None) -> str:
|
388
|
-
default_dir =
|
388
|
+
default_dir = platformdirs.user_data_dir("wandb")
|
389
389
|
if env is None:
|
390
390
|
env = os.environ
|
391
391
|
val = env.get(DATA_DIR, default_dir)
|
@@ -410,7 +410,7 @@ def get_artifact_fetch_file_url_batch_size(env: Optional[Env] = None) -> int:
|
|
410
410
|
|
411
411
|
def get_cache_dir(env: Optional[Env] = None) -> Path:
|
412
412
|
env = env or os.environ
|
413
|
-
return Path(env.get(CACHE_DIR,
|
413
|
+
return Path(env.get(CACHE_DIR, platformdirs.user_cache_dir("wandb")))
|
414
414
|
|
415
415
|
|
416
416
|
def get_use_v1_artifacts(env: Optional[Env] = None) -> bool:
|
@@ -91,8 +91,8 @@ class HuggingFacePipelineRequestResponseResolver:
|
|
91
91
|
|
92
92
|
# TODO: This should have a dependency on PreTrainedModel. i.e. isinstance(PreTrainedModel)
|
93
93
|
# from transformers.modeling_utils import PreTrainedModel
|
94
|
-
# We do not want this dependency
|
95
|
-
# the structure of the pipeline which may have unintended consequences
|
94
|
+
# We do not want this dependency explicitly in our codebase so we make a very general
|
95
|
+
# assumption about the structure of the pipeline which may have unintended consequences
|
96
96
|
def _get_model(self, pipe) -> Optional[Any]:
|
97
97
|
"""Extracts model from the pipeline.
|
98
98
|
|
@@ -43,7 +43,7 @@ class WandbMetricsLogger(callbacks.Callback):
|
|
43
43
|
at the end of each epoch. If "batch", logs metrics at the end
|
44
44
|
of each batch. If an integer, logs metrics at the end of that
|
45
45
|
many batches. Defaults to "epoch".
|
46
|
-
initial_global_step: (int) Use this argument to
|
46
|
+
initial_global_step: (int) Use this argument to correctly log the
|
47
47
|
learning rate when you resume training from some `initial_epoch`,
|
48
48
|
and a learning rate scheduler is used. This can be computed as
|
49
49
|
`step_size * initial_step`. Defaults to 0.
|
wandb/integration/keras/keras.py
CHANGED
@@ -576,7 +576,7 @@ class WandbCallback(tf.keras.callbacks.Callback):
|
|
576
576
|
)
|
577
577
|
self._model_trained_since_last_eval = False
|
578
578
|
except Exception as e:
|
579
|
-
wandb.termwarn("Error
|
579
|
+
wandb.termwarn("Error during prediction logging for epoch: " + str(e))
|
580
580
|
|
581
581
|
def on_epoch_end(self, epoch, logs=None):
|
582
582
|
if logs is None:
|
wandb/old/summary.py
CHANGED
@@ -61,7 +61,7 @@ class SummarySubDict:
|
|
61
61
|
This should only be implemented by the "_root" child class.
|
62
62
|
|
63
63
|
We pass the child_dict so the item can be set on it or not as
|
64
|
-
appropriate. Returning None for a
|
64
|
+
appropriate. Returning None for a nonexistent path wouldn't be
|
65
65
|
distinguishable from that path being set to the value None.
|
66
66
|
"""
|
67
67
|
raise NotImplementedError
|
wandb/plot/confusion_matrix.py
CHANGED
@@ -48,7 +48,7 @@ def confusion_matrix(
|
|
48
48
|
|
49
49
|
assert (probs is None or preds is None) and not (
|
50
50
|
probs is None and preds is None
|
51
|
-
), "Must provide
|
51
|
+
), "Must provide probabilities or predictions but not both to confusion matrix"
|
52
52
|
|
53
53
|
if probs is not None:
|
54
54
|
preds = np.argmax(probs, axis=1).tolist()
|
wandb/plots/precision_recall.py
CHANGED
@@ -25,7 +25,7 @@ def precision_recall(
|
|
25
25
|
Arguments:
|
26
26
|
y_true (arr): Test set labels.
|
27
27
|
y_probas (arr): Test set predicted probabilities.
|
28
|
-
labels (list): Named labels for target
|
28
|
+
labels (list): Named labels for target variable (y). Makes plots easier to
|
29
29
|
read by replacing target values with corresponding index.
|
30
30
|
For example labels= ['dog', 'cat', 'owl'] all 0s are
|
31
31
|
replaced by 'dog', 1s by 'cat'.
|
wandb/plots/roc.py
CHANGED
@@ -25,7 +25,7 @@ def roc(
|
|
25
25
|
Arguments:
|
26
26
|
y_true (arr): Test set labels.
|
27
27
|
y_probas (arr): Test set predicted probabilities.
|
28
|
-
labels (list): Named labels for target
|
28
|
+
labels (list): Named labels for target variable (y). Makes plots easier to
|
29
29
|
read by replacing target values with corresponding index.
|
30
30
|
For example labels= ['dog', 'cat', 'owl'] all 0s are
|
31
31
|
replaced by 'dog', 1s by 'cat'.
|
wandb/sdk/data_types/_dtypes.py
CHANGED
@@ -14,7 +14,7 @@ np = get_module("numpy") # intentionally not required
|
|
14
14
|
if t.TYPE_CHECKING:
|
15
15
|
from wandb.sdk.artifacts.artifact import Artifact
|
16
16
|
|
17
|
-
|
17
|
+
ConvertibleToType = t.Union["Type", t.Type["Type"], type, t.Any]
|
18
18
|
|
19
19
|
|
20
20
|
class TypeRegistry:
|
@@ -84,7 +84,7 @@ class TypeRegistry:
|
|
84
84
|
return _type.from_json(json_dict, artifact)
|
85
85
|
|
86
86
|
@staticmethod
|
87
|
-
def type_from_dtype(dtype:
|
87
|
+
def type_from_dtype(dtype: ConvertibleToType) -> "Type":
|
88
88
|
# The dtype is already an instance of Type
|
89
89
|
if isinstance(dtype, Type):
|
90
90
|
wbtype: Type = dtype
|
@@ -528,7 +528,7 @@ class UnionType(Type):
|
|
528
528
|
|
529
529
|
def __init__(
|
530
530
|
self,
|
531
|
-
allowed_types: t.Optional[t.Sequence[
|
531
|
+
allowed_types: t.Optional[t.Sequence[ConvertibleToType]] = None,
|
532
532
|
):
|
533
533
|
assert allowed_types is None or (allowed_types.__class__ == list)
|
534
534
|
if allowed_types is None:
|
@@ -576,7 +576,7 @@ class UnionType(Type):
|
|
576
576
|
return "{}".format(" or ".join([str(t) for t in self.params["allowed_types"]]))
|
577
577
|
|
578
578
|
|
579
|
-
def OptionalType(dtype:
|
579
|
+
def OptionalType(dtype: ConvertibleToType) -> UnionType: # noqa: N802
|
580
580
|
"""Function that mimics the Type class API for constructing an "Optional Type".
|
581
581
|
|
582
582
|
This is just a Union[wb_type, NoneType].
|
@@ -591,14 +591,14 @@ def OptionalType(dtype: ConvertableToType) -> UnionType: # noqa: N802
|
|
591
591
|
|
592
592
|
|
593
593
|
class ListType(Type):
|
594
|
-
"""A list of
|
594
|
+
"""A list of homogeneous types."""
|
595
595
|
|
596
596
|
name = "list"
|
597
597
|
types: t.ClassVar[t.List[type]] = [list, tuple, set, frozenset]
|
598
598
|
|
599
599
|
def __init__(
|
600
600
|
self,
|
601
|
-
element_type: t.Optional[
|
601
|
+
element_type: t.Optional[ConvertibleToType] = None,
|
602
602
|
length: t.Optional[int] = None,
|
603
603
|
):
|
604
604
|
if element_type is None:
|
@@ -691,7 +691,7 @@ class ListType(Type):
|
|
691
691
|
|
692
692
|
|
693
693
|
class NDArrayType(Type):
|
694
|
-
"""Represents a list of
|
694
|
+
"""Represents a list of homogeneous types."""
|
695
695
|
|
696
696
|
name = "ndarray"
|
697
697
|
types: t.ClassVar[t.List[type]] = [] # will manually add type if np is available
|
@@ -786,7 +786,7 @@ class TypedDictType(Type):
|
|
786
786
|
|
787
787
|
def __init__(
|
788
788
|
self,
|
789
|
-
type_map: t.Optional[t.Dict[str,
|
789
|
+
type_map: t.Optional[t.Dict[str, ConvertibleToType]] = None,
|
790
790
|
):
|
791
791
|
if type_map is None:
|
792
792
|
type_map = {}
|
wandb/sdk/data_types/image.py
CHANGED
@@ -167,7 +167,7 @@ class Image(BatchableMedia):
|
|
167
167
|
self._file_type = None
|
168
168
|
|
169
169
|
# Allows the user to pass an Image object as the first parameter and have a perfect copy,
|
170
|
-
# only overriding additional
|
170
|
+
# only overriding additional metadata passed in. If this pattern is compelling, we can generalize.
|
171
171
|
if isinstance(data_or_path, Image):
|
172
172
|
self._initialize_from_wbimage(data_or_path)
|
173
173
|
elif isinstance(data_or_path, str):
|
wandb/sdk/data_types/video.py
CHANGED
@@ -24,7 +24,7 @@ if TYPE_CHECKING: # pragma: no cover
|
|
24
24
|
# https://github.com/wandb/wandb/issues/3472
|
25
25
|
#
|
26
26
|
# Essentially, the issue is that moviepy's write_gif function fails to close
|
27
|
-
# the open write / file
|
27
|
+
# the open write / file descriptor returned from `imageio.save`. The following
|
28
28
|
# function is a simplified copy of the function in the moviepy source code.
|
29
29
|
# See https://github.com/Zulko/moviepy/blob/7e3e8bb1b739eb6d1c0784b0cb2594b587b93b39/moviepy/video/io/gif_writers.py#L428
|
30
30
|
#
|
@@ -78,7 +78,7 @@ class ValidationDataLogger:
|
|
78
78
|
Defaults to `"wb_validation_data"`.
|
79
79
|
artifact_type: The artifact type to use for the validation data.
|
80
80
|
Defaults to `"validation_dataset"`.
|
81
|
-
class_labels: Optional list of
|
81
|
+
class_labels: Optional list of labels to use in the inferred
|
82
82
|
processors. If the model's `target` or `output` is inferred to be a class,
|
83
83
|
we will attempt to map the class to these labels. Defaults to `None`.
|
84
84
|
infer_missing_processors: Determines if processors are inferred if
|
@@ -262,7 +262,7 @@ def _infer_single_example_keyed_processor(
|
|
262
262
|
):
|
263
263
|
np = wandb.util.get_module(
|
264
264
|
"numpy",
|
265
|
-
required="
|
265
|
+
required="Inferring processors require numpy",
|
266
266
|
)
|
267
267
|
# Assume these are logits
|
268
268
|
class_names = class_labels_table.get_column("label")
|
@@ -301,7 +301,7 @@ def _infer_single_example_keyed_processor(
|
|
301
301
|
elif len(shape) == 1:
|
302
302
|
np = wandb.util.get_module(
|
303
303
|
"numpy",
|
304
|
-
required="
|
304
|
+
required="Inferring processors require numpy",
|
305
305
|
)
|
306
306
|
# This could be anything
|
307
307
|
if shape[0] <= 10:
|
@@ -354,7 +354,7 @@ def _infer_validation_row_processor(
|
|
354
354
|
input_col_name: str = "input",
|
355
355
|
target_col_name: str = "target",
|
356
356
|
) -> Callable:
|
357
|
-
"""Infers the
|
357
|
+
"""Infers the composite processor for the validation data."""
|
358
358
|
single_processors = {}
|
359
359
|
if isinstance(example_input, dict):
|
360
360
|
for key in example_input:
|
@@ -431,7 +431,7 @@ def _infer_prediction_row_processor(
|
|
431
431
|
input_col_name: str = "input",
|
432
432
|
output_col_name: str = "output",
|
433
433
|
) -> Callable:
|
434
|
-
"""Infers the
|
434
|
+
"""Infers the composite processor for the prediction output data."""
|
435
435
|
single_processors = {}
|
436
436
|
|
437
437
|
if isinstance(example_prediction, dict):
|
wandb/sdk/interface/interface.py
CHANGED
@@ -387,7 +387,7 @@ class InterfaceBase:
|
|
387
387
|
def _make_partial_source_str(
|
388
388
|
source: Any, job_info: Dict[str, Any], metadata: Dict[str, Any]
|
389
389
|
) -> str:
|
390
|
-
"""Construct use_artifact.partial.source_info.
|
390
|
+
"""Construct use_artifact.partial.source_info.source as str."""
|
391
391
|
source_type = job_info.get("source_type", "").strip()
|
392
392
|
if source_type == "artifact":
|
393
393
|
info_source = job_info.get("source", {})
|
@@ -276,7 +276,7 @@ class JobBuilder:
|
|
276
276
|
return source, name
|
277
277
|
|
278
278
|
def _make_job_name(self, input_str: str) -> str:
|
279
|
-
"""Use job name from settings if provided, else use
|
279
|
+
"""Use job name from settings if provided, else use programmatic name."""
|
280
280
|
if self._settings.job_name:
|
281
281
|
return self._settings.job_name
|
282
282
|
|
@@ -404,7 +404,9 @@ class LaunchProject:
|
|
404
404
|
_logger.debug("")
|
405
405
|
return self.docker_image
|
406
406
|
else:
|
407
|
-
raise LaunchError(
|
407
|
+
raise LaunchError(
|
408
|
+
"Unknown source type when determining image source string"
|
409
|
+
)
|
408
410
|
|
409
411
|
def _ensure_not_docker_image_and_local_process(self) -> None:
|
410
412
|
"""Ensure that docker image is not specified with local-process resource runner.
|
wandb/sdk/launch/agent/agent.py
CHANGED
@@ -241,7 +241,7 @@ class LaunchAgent:
|
|
241
241
|
"""Determine whether a job/runSpec is a sweep scheduler."""
|
242
242
|
if not run_spec:
|
243
243
|
self._internal_logger.debug(
|
244
|
-
"
|
244
|
+
"Received runSpec in _is_scheduler_job that was empty"
|
245
245
|
)
|
246
246
|
|
247
247
|
if run_spec.get("uri") != Scheduler.PLACEHOLDER_URI:
|
@@ -35,7 +35,7 @@ class AbstractBuilder(ABC):
|
|
35
35
|
verify: Whether to verify the functionality of the builder.
|
36
36
|
|
37
37
|
Raises:
|
38
|
-
LaunchError: If the builder cannot be
|
38
|
+
LaunchError: If the builder cannot be initialized or verified.
|
39
39
|
"""
|
40
40
|
raise NotImplementedError
|
41
41
|
|
@@ -65,7 +65,7 @@ def registry_from_uri(uri: str) -> AbstractRegistry:
|
|
65
65
|
it as an AWS Elastic Container Registry. If the uri contains
|
66
66
|
`-docker.pkg.dev`, we classify it as a Google Artifact Registry.
|
67
67
|
|
68
|
-
This function will attempt to load the
|
68
|
+
This function will attempt to load the appropriate cloud helpers for the
|
69
69
|
|
70
70
|
`https://` prefix is optional for all of the above.
|
71
71
|
|
@@ -286,7 +286,7 @@ class KanikoBuilder(AbstractBuilder):
|
|
286
286
|
_, api_client = await get_kube_context_and_api_client(
|
287
287
|
kubernetes, launch_project.resource_args
|
288
288
|
)
|
289
|
-
# TODO: use same client as
|
289
|
+
# TODO: use same client as kubernetes_runner.py
|
290
290
|
batch_v1 = client.BatchV1Api(api_client)
|
291
291
|
core_v1 = client.CoreV1Api(api_client)
|
292
292
|
|
@@ -522,7 +522,7 @@ class KanikoBuilder(AbstractBuilder):
|
|
522
522
|
volume_mounts.append(
|
523
523
|
{"name": "docker-config", "mountPath": "/kaniko/.docker/"}
|
524
524
|
)
|
525
|
-
# Kaniko doesn't want https:// at the
|
525
|
+
# Kaniko doesn't want https:// at the beginning of the image tag.
|
526
526
|
destination = image_tag
|
527
527
|
if destination.startswith("https://"):
|
528
528
|
destination = destination.replace("https://", "")
|
@@ -211,7 +211,7 @@ class GoogleArtifactRegistry(AbstractRegistry):
|
|
211
211
|
for image in await list_images(request={"parent": parent}):
|
212
212
|
if tag in image.tags:
|
213
213
|
return True
|
214
|
-
except google.api_core.exceptions.NotFound as e:
|
214
|
+
except google.api_core.exceptions.NotFound as e: # type: ignore[attr-defined]
|
215
215
|
raise LaunchError(
|
216
216
|
f"The Google Artifact Registry repository {self.repository} "
|
217
217
|
f"does not exist. Please create it or modify your registry configuration."
|
@@ -408,7 +408,7 @@ class Scheduler(ABC):
|
|
408
408
|
return count
|
409
409
|
|
410
410
|
def _try_load_executable(self) -> bool:
|
411
|
-
"""Check
|
411
|
+
"""Check existence of valid executable for a run.
|
412
412
|
|
413
413
|
logs and returns False when job is unreachable
|
414
414
|
"""
|
@@ -423,7 +423,7 @@ class Scheduler(ABC):
|
|
423
423
|
return False
|
424
424
|
return True
|
425
425
|
elif self._kwargs.get("image_uri"):
|
426
|
-
# TODO(gst): check docker
|
426
|
+
# TODO(gst): check docker existence? Use registry in launch config?
|
427
427
|
return True
|
428
428
|
else:
|
429
429
|
return False
|
@@ -611,7 +611,7 @@ class Scheduler(ABC):
|
|
611
611
|
f"Failed to get runstate for run ({run_id}). Error: {traceback.format_exc()}"
|
612
612
|
)
|
613
613
|
run_state = RunState.FAILED
|
614
|
-
else: # first time we get
|
614
|
+
else: # first time we get unknown state
|
615
615
|
run_state = RunState.UNKNOWN
|
616
616
|
except (AttributeError, ValueError):
|
617
617
|
wandb.termwarn(
|
@@ -59,7 +59,7 @@ class SweepScheduler(Scheduler):
|
|
59
59
|
return None
|
60
60
|
|
61
61
|
def _get_sweep_commands(self, worker_id: int) -> List[Dict[str, Any]]:
|
62
|
-
"""Helper to
|
62
|
+
"""Helper to receive sweep command from backend."""
|
63
63
|
# AgentHeartbeat wants a Dict of runs which are running or queued
|
64
64
|
_run_states: Dict[str, bool] = {}
|
65
65
|
for run_id, run in self._yield_runs():
|
wandb/sdk/launch/sweeps/utils.py
CHANGED
@@ -217,7 +217,7 @@ def create_sweep_command_args(command: Dict) -> Dict[str, Any]:
|
|
217
217
|
flags: List[str] = []
|
218
218
|
# (2) flags without hyphens (e.g. foo=bar)
|
219
219
|
flags_no_hyphens: List[str] = []
|
220
|
-
# (3) flags with false booleans
|
220
|
+
# (3) flags with false booleans omitted (e.g. --foo)
|
221
221
|
flags_no_booleans: List[str] = []
|
222
222
|
# (4) flags as a dictionary (used for constructing a json)
|
223
223
|
flags_dict: Dict[str, Any] = {}
|
@@ -257,7 +257,7 @@ def make_launch_sweep_entrypoint(
|
|
257
257
|
"""Use args dict from create_sweep_command_args to construct entrypoint.
|
258
258
|
|
259
259
|
If replace is True, remove macros from entrypoint, fill them in with args
|
260
|
-
and then return the args in
|
260
|
+
and then return the args in separate return value.
|
261
261
|
"""
|
262
262
|
if not command:
|
263
263
|
return None, None
|
wandb/sdk/lib/import_hooks.py
CHANGED
@@ -143,7 +143,7 @@ class _ImportHookChainedLoader:
|
|
143
143
|
# None, so handle None as well. The module may not support attribute
|
144
144
|
# assignment, in which case we simply skip it. Note that we also deal
|
145
145
|
# with __loader__ not existing at all. This is to future proof things
|
146
|
-
# due to proposal to remove the
|
146
|
+
# due to proposal to remove the attribute as described in the GitHub
|
147
147
|
# issue at https://github.com/python/cpython/issues/77458. Also prior
|
148
148
|
# to Python 3.3, the __loader__ attribute was only set if a custom
|
149
149
|
# module loader was used. It isn't clear whether the attribute still
|
wandb/sdk/lib/redirect.py
CHANGED
@@ -224,7 +224,7 @@ class TerminalEmulator:
|
|
224
224
|
def carriage_return(self):
|
225
225
|
self.cursor.x = 0
|
226
226
|
|
227
|
-
def
|
227
|
+
def cursor_position(self, line, column):
|
228
228
|
self.cursor.x = min(column, 1) - 1
|
229
229
|
self.cursor.y = min(line, 1) - 1
|
230
230
|
|
@@ -393,25 +393,30 @@ class TerminalEmulator:
|
|
393
393
|
p = (int(p[0]), 1)
|
394
394
|
else:
|
395
395
|
p = (1, 1)
|
396
|
-
self.
|
396
|
+
self.cursor_position(*p)
|
397
397
|
except Exception:
|
398
398
|
pass
|
399
399
|
|
400
400
|
def _get_line(self, n):
|
401
401
|
line = self.buffer[n]
|
402
402
|
line_len = self._get_line_len(n)
|
403
|
-
# We have to loop through each character in the line and check if foreground,
|
404
|
-
# other attributes (italics, bold, underline, etc) of the ith
|
405
|
-
# (i-1)th character. If different, the
|
406
|
-
#
|
407
|
-
#
|
408
|
-
#
|
409
|
-
|
410
|
-
#
|
411
|
-
#
|
412
|
-
|
413
|
-
#
|
414
|
-
#
|
403
|
+
# We have to loop through each character in the line and check if foreground,
|
404
|
+
# background and other attributes (italics, bold, underline, etc) of the ith
|
405
|
+
# character are different from those of the (i-1)th character. If different, the
|
406
|
+
# appropriate ascii character for switching the color/attribute should be
|
407
|
+
# appended to the output string before appending the actual character. This loop
|
408
|
+
# and subsequent checks can be expensive, especially because 99% of terminal
|
409
|
+
# output use default colors and formatting. Even in outputs that do contain
|
410
|
+
# colors and styles, its unlikely that they will change on a per character
|
411
|
+
# basis.
|
412
|
+
|
413
|
+
# So instead we create a character list without any ascii codes (`out`), and a
|
414
|
+
# list of all the foregrounds in the line (`fgs`) on which we call np.diff() and
|
415
|
+
# np.where() to find the indices where the foreground change, and insert the
|
416
|
+
# ascii characters in the output list (`out`) on those indices. All of this is
|
417
|
+
# the done only if there are more than 1 foreground color in the line in the
|
418
|
+
# first place (`if len(set(fgs)) > 1 else None`). Same logic is repeated for
|
419
|
+
# background colors and other attributes.
|
415
420
|
|
416
421
|
out = [line[i].data for i in range(line_len)]
|
417
422
|
|
wandb/sdk/lib/tracelog.py
CHANGED
@@ -6,7 +6,7 @@ Functions:
|
|
6
6
|
log_message_send - message sent to socket
|
7
7
|
log_message_recv - message received from socket
|
8
8
|
log_message_process - message processed by thread
|
9
|
-
log_message_link - message linked to another
|
9
|
+
log_message_link - message linked to another message
|
10
10
|
log_message_assert - message encountered problem
|
11
11
|
|
12
12
|
"""
|
wandb/sdk/wandb_run.py
CHANGED
@@ -1853,7 +1853,7 @@ class Run:
|
|
1853
1853
|
picked up automatically.
|
1854
1854
|
|
1855
1855
|
A `base_path` may be provided to control the directory structure of
|
1856
|
-
uploaded files. It should be a prefix of `glob_str`, and the
|
1856
|
+
uploaded files. It should be a prefix of `glob_str`, and the directory
|
1857
1857
|
structure beneath it is preserved. It's best understood through
|
1858
1858
|
examples:
|
1859
1859
|
|
@@ -1911,7 +1911,11 @@ class Run:
|
|
1911
1911
|
# Provide a better error message for a common misuse.
|
1912
1912
|
wandb.termlog(f"{glob_str} is a cloud storage url, can't save file to W&B.")
|
1913
1913
|
return []
|
1914
|
-
|
1914
|
+
# NOTE: We use PurePath instead of Path because WindowsPath doesn't
|
1915
|
+
# like asterisks and errors out in resolve(). It also makes logical
|
1916
|
+
# sense: globs aren't real paths, they're just path-like strings.
|
1917
|
+
glob_path = pathlib.PurePath(glob_str)
|
1918
|
+
resolved_glob_path = pathlib.PurePath(os.path.abspath(glob_path))
|
1915
1919
|
|
1916
1920
|
if base_path is not None:
|
1917
1921
|
base_path = pathlib.Path(base_path)
|
@@ -1925,15 +1929,14 @@ class Run:
|
|
1925
1929
|
'wandb.save("/mnt/folder/file.h5", base_path="/mnt")',
|
1926
1930
|
repeat=False,
|
1927
1931
|
)
|
1928
|
-
base_path =
|
1932
|
+
base_path = resolved_glob_path.parent.parent
|
1929
1933
|
|
1930
1934
|
if policy not in ("live", "end", "now"):
|
1931
1935
|
raise ValueError(
|
1932
1936
|
'Only "live", "end" and "now" policies are currently supported.'
|
1933
1937
|
)
|
1934
1938
|
|
1935
|
-
|
1936
|
-
resolved_base_path = base_path.resolve()
|
1939
|
+
resolved_base_path = pathlib.PurePath(os.path.abspath(base_path))
|
1937
1940
|
|
1938
1941
|
return self._save(
|
1939
1942
|
resolved_glob_path,
|
@@ -1943,8 +1946,8 @@ class Run:
|
|
1943
1946
|
|
1944
1947
|
def _save(
|
1945
1948
|
self,
|
1946
|
-
glob_path: pathlib.
|
1947
|
-
base_path: pathlib.
|
1949
|
+
glob_path: pathlib.PurePath,
|
1950
|
+
base_path: pathlib.PurePath,
|
1948
1951
|
policy: "PolicyName",
|
1949
1952
|
) -> List[str]:
|
1950
1953
|
# Can't use is_relative_to() because that's added in Python 3.9,
|
@@ -3658,7 +3661,7 @@ class Run:
|
|
3658
3661
|
# FOOTER
|
3659
3662
|
# ------------------------------------------------------------------------------
|
3660
3663
|
# Note: All the footer methods are static methods since we want to share the printing logic
|
3661
|
-
# with the service execution path that doesn't have
|
3664
|
+
# with the service execution path that doesn't have access to the run instance
|
3662
3665
|
@staticmethod
|
3663
3666
|
def _footer(
|
3664
3667
|
sampled_history: Optional["SampledHistoryResponse"] = None,
|
wandb/sdk/wandb_setup.py
CHANGED
wandb/sklearn/plot/classifier.py
CHANGED
@@ -33,9 +33,9 @@ def classifier(
|
|
33
33
|
|
34
34
|
The following plots are generated:
|
35
35
|
feature importances, confusion matrix, summary metrics,
|
36
|
-
class
|
36
|
+
class proportions, calibration curve, roc curve, precision-recall curve.
|
37
37
|
|
38
|
-
Should only be called with a fitted
|
38
|
+
Should only be called with a fitted classifier (otherwise an error is thrown).
|
39
39
|
|
40
40
|
Arguments:
|
41
41
|
model: (classifier) Takes in a fitted classifier.
|
@@ -45,7 +45,7 @@ def classifier(
|
|
45
45
|
y_test: (arr) Test set labels.
|
46
46
|
y_pred: (arr) Test set predictions by the model passed.
|
47
47
|
y_probas: (arr) Test set predicted probabilities by the model passed.
|
48
|
-
labels: (list) Named labels for target
|
48
|
+
labels: (list) Named labels for target variable (y). Makes plots easier to
|
49
49
|
read by replacing target values with corresponding index.
|
50
50
|
For example if `labels=['dog', 'cat', 'owl']` all 0s are
|
51
51
|
replaced by dog, 1s by cat.
|
@@ -225,7 +225,7 @@ def feature_importances(
|
|
225
225
|
):
|
226
226
|
"""Log a plot depicting the relative importance of each feature for a classifier's decisions.
|
227
227
|
|
228
|
-
Should only be called with a fitted
|
228
|
+
Should only be called with a fitted classifier (otherwise an error is thrown).
|
229
229
|
Only works with classifiers that have a feature_importances_ attribute, like trees.
|
230
230
|
|
231
231
|
Arguments:
|
@@ -252,7 +252,7 @@ def feature_importances(
|
|
252
252
|
|
253
253
|
|
254
254
|
def class_proportions(y_train=None, y_test=None, labels=None):
|
255
|
-
"""Plot the distribution of target
|
255
|
+
"""Plot the distribution of target classes in training and test sets.
|
256
256
|
|
257
257
|
Useful for detecting imbalanced classes.
|
258
258
|
|
@@ -296,7 +296,7 @@ def calibration_curve(clf=None, X=None, y=None, clf_name="Classifier"):
|
|
296
296
|
if so which calibration (sigmoid or isotonic) might help fix this.
|
297
297
|
For more details, see https://scikit-learn.org/stable/auto_examples/calibration/plot_calibration_curve.html.
|
298
298
|
|
299
|
-
Should only be called with a fitted
|
299
|
+
Should only be called with a fitted classifier (otherwise an error is thrown).
|
300
300
|
|
301
301
|
Please note this function fits variations of the model on the training set when called.
|
302
302
|
|
wandb/sklearn/plot/clusterer.py
CHANGED
@@ -25,7 +25,7 @@ def clusterer(model, X_train, cluster_labels, labels=None, model_name="Clusterer
|
|
25
25
|
X_train: (arr) Training set features.
|
26
26
|
cluster_labels: (list) Names for cluster labels. Makes plots easier to read
|
27
27
|
by replacing cluster indexes with corresponding names.
|
28
|
-
labels: (list) Named labels for target
|
28
|
+
labels: (list) Named labels for target variable (y). Makes plots easier to
|
29
29
|
read by replacing target values with corresponding index.
|
30
30
|
For example if `labels=['dog', 'cat', 'owl']` all 0s are
|
31
31
|
replaced by dog, 1s by cat.
|
wandb/wandb_controller.py
CHANGED
@@ -20,7 +20,7 @@ Example:
|
|
20
20
|
tuner = wandb.controller()
|
21
21
|
tuner.configure(sweep_config)
|
22
22
|
tuner.create()
|
23
|
-
# (3) create by constructing
|
23
|
+
# (3) create by constructing programmatic sweep configuration
|
24
24
|
tuner = wandb.controller()
|
25
25
|
tuner.configure_search('random')
|
26
26
|
tuner.configure_program('train-dummy.py')
|
@@ -127,7 +127,7 @@ class _WandbController:
|
|
127
127
|
"""
|
128
128
|
|
129
129
|
def __init__(self, sweep_id_or_config=None, entity=None, project=None):
|
130
|
-
# sweep id configured in
|
130
|
+
# sweep id configured in constructor
|
131
131
|
self._sweep_id: Optional[str] = None
|
132
132
|
|
133
133
|
# configured parameters
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: wandb
|
3
|
-
Version: 0.17.
|
3
|
+
Version: 0.17.0rc2
|
4
4
|
Summary: A CLI and library for interacting with the Weights & Biases API.
|
5
5
|
Project-URL: Source, https://github.com/wandb/wandb
|
6
6
|
Project-URL: Bug Reports, https://github.com/wandb/wandb/issues
|
@@ -46,10 +46,10 @@ Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
46
46
|
Classifier: Topic :: System :: Logging
|
47
47
|
Classifier: Topic :: System :: Monitoring
|
48
48
|
Requires-Python: >=3.7
|
49
|
-
Requires-Dist: appdirs>=1.4.3
|
50
49
|
Requires-Dist: click!=8.0.0,>=7.1
|
51
50
|
Requires-Dist: docker-pycreds>=0.4.0
|
52
51
|
Requires-Dist: gitpython!=3.1.29,>=1.0.0
|
52
|
+
Requires-Dist: platformdirs
|
53
53
|
Requires-Dist: protobuf!=4.21.0,<5,>=3.12.0; python_version < '3.9' and sys_platform == 'linux'
|
54
54
|
Requires-Dist: protobuf!=4.21.0,<5,>=3.15.0; python_version == '3.9' and sys_platform == 'linux'
|
55
55
|
Requires-Dist: protobuf!=4.21.0,<5,>=3.19.0; python_version > '3.9' and sys_platform == 'linux'
|
@@ -1,17 +1,17 @@
|
|
1
1
|
package_readme.md,sha256=xigFCsrzePKq72pDIEfkoVzb-NzDRsKpXXI0FMJ-6jg,4382
|
2
|
-
wandb-0.17.
|
3
|
-
wandb-0.17.
|
4
|
-
wandb-0.17.
|
5
|
-
wandb-0.17.
|
6
|
-
wandb-0.17.
|
2
|
+
wandb-0.17.0rc2.dist-info/RECORD,,
|
3
|
+
wandb-0.17.0rc2.dist-info/WHEEL,sha256=y50fL_l-dnDH4vJTo8gELOYpJyvpbL9asn6dHF2Japk,102
|
4
|
+
wandb-0.17.0rc2.dist-info/entry_points.txt,sha256=v4FCOZ9gW7Pc6KLsmgQqpCiKTrA1wh2XHmNf-NUP1-I,67
|
5
|
+
wandb-0.17.0rc2.dist-info/METADATA,sha256=UmWeStX4LWpPxClnh-Ro5R5JHO6cq4CsaKsiUDiGc_s,10112
|
6
|
+
wandb-0.17.0rc2.dist-info/licenses/LICENSE,sha256=izOKRJpGOx1PrJiGOKR0HsNdlB5JdH2d0Z4P7a7ssTc,1081
|
7
7
|
wandb/magic.py,sha256=YVSQmkrtlQ56p-VqkwjiPGNBa694UvPALxc4yp6RiLk,59
|
8
|
-
wandb/env.py,sha256=
|
8
|
+
wandb/env.py,sha256=ikF0Tuie1IiuDWf0F8jWf9AZplC7jR8vohk4PgLjke8,12826
|
9
9
|
wandb/_globals.py,sha256=CccwOAls5bxJArYHg12b08ZeKR8Qu9u57GtYWjBH0o0,702
|
10
10
|
wandb/util.py,sha256=CqQF-44w1uokzU5N0dpNBwdHbyuMInGcNJkQWeK3Jg0,60885
|
11
11
|
wandb/wandb_run.py,sha256=CNh9S6uubFk8FphQjzkbvedyyGCN9aBEsRBKjy8tqqs,155
|
12
|
-
wandb/__init__.py,sha256=
|
13
|
-
wandb/data_types.py,sha256=
|
14
|
-
wandb/wandb_controller.py,sha256=
|
12
|
+
wandb/__init__.py,sha256=IYiW7K4FwEtQ-koHQ-dvVDnXyWEeX7Uq6Cus-_eOJTw,7080
|
13
|
+
wandb/data_types.py,sha256=SyBzrPvzfmgl9te_kH9yiNnn20L3eJvfbVnG2wRyZ3k,73149
|
14
|
+
wandb/wandb_controller.py,sha256=lvMXXf436Uuzfy1WEC6iaHq1Ht0rNdUoLvc_kDPn1HQ,24768
|
15
15
|
wandb/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
16
16
|
wandb/wandb_torch.py,sha256=DGY0jsWashL02iXGce-5XypfSJIbBWfLsCrmixqNTCY,21276
|
17
17
|
wandb/wandb_agent.py,sha256=TaRXYz5quJa4aEStAkgbpmlpc2oeUuQkH75M9WdUsSo,21013
|
@@ -23,7 +23,7 @@ wandb/beta/workflows.py,sha256=u22a9f6R8iaBIlIGnih97T9BS_Wuq3_PuPO_vSWXAy8,9976
|
|
23
23
|
wandb/keras/__init__.py,sha256=f_j3sNjmcPoa9DqxLfHR3dwUV64_O2Plv_ryW4Z-IaQ,362
|
24
24
|
wandb/docker/auth.py,sha256=I68SFCcbmZr18XqVxVCM75eTB7YhCebgb3dcsFiIYHQ,15032
|
25
25
|
wandb/docker/wandb-entrypoint.sh,sha256=P4eTMG7wYsgTfJIws_HT7QFlYBI70ZLnNlDGTZdmYVE,989
|
26
|
-
wandb/docker/__init__.py,sha256=
|
26
|
+
wandb/docker/__init__.py,sha256=fZA2eGMpGmD7VZ4osfEKCJmX06JDKpzoYTMnGwWpIXo,10546
|
27
27
|
wandb/docker/www_authenticate.py,sha256=eQd0ap8LpZkS9ImRn2gdgl7gnHeKprdqjClrZOaCsQo,2805
|
28
28
|
wandb/apis/internal.py,sha256=ZKlCDJRqhtm87e3l6ezLEu-9Pz5QQ6qyCg4aB7saMwU,7359
|
29
29
|
wandb/apis/normalize.py,sha256=CkbtH11jPhiEl7apeWn0UKFJ_gwbaK4qkvDMvxwTxaw,2894
|
@@ -53,7 +53,7 @@ wandb/apis/public/const.py,sha256=icNtcS3gTCtvevLWuTOCqm0FHEfLQ0P80mA69dWeEXs,12
|
|
53
53
|
wandb/apis/public/history.py,sha256=4gwe9HJ_NH9SSPtLtP7ELw4nIsxLPrY6ji13EK1siyM,4636
|
54
54
|
wandb/apis/reports/__init__.py,sha256=vN_IQPJYTkdWywgaWHG4AamF_8FvHge1dG1ohLBVNqg,156
|
55
55
|
wandb/apis/reports/v1/_panels.py,sha256=xne6P2LuEWLQzIWHKBK1Ea7QGrIz26ZKR5gJf8uy48c,48383
|
56
|
-
wandb/apis/reports/v1/_blocks.py,sha256=
|
56
|
+
wandb/apis/reports/v1/_blocks.py,sha256=pxMbkd_YEi_k52N90J_suRzXU98Ez8eX2_Qnj0RylEM,53745
|
57
57
|
wandb/apis/reports/v1/util.py,sha256=P0pBQcY79OtB6MxTZXQQ1GXV_yuUXUxflrDGY-oIiPA,11941
|
58
58
|
wandb/apis/reports/v1/mutations.py,sha256=r26-40KDrDcXFNlexAE_QYdD_7qCTYeNzqGwxcBkenU,1291
|
59
59
|
wandb/apis/reports/v1/validators.py,sha256=8VieYNICXinPtgjNI1xBcxIykHIXp4Rt4zfidbX-N94,4282
|
@@ -82,7 +82,7 @@ wandb/plot/roc_curve.py,sha256=uG7CzmURQmQdm0AbSVzJxtaujJ8IGaoNl5v-K8aXf-0,3913
|
|
82
82
|
wandb/plot/line_series.py,sha256=Kow9Ah14xJZrZQc2TX5BNxqs7MqQhX0bvs9UWFI6am4,2965
|
83
83
|
wandb/plot/scatter.py,sha256=zGLuF_TwzD8ETw3ZJmK1o6y2YnLvF5FB5FSKZfO_r24,1001
|
84
84
|
wandb/plot/bar.py,sha256=Phb93zGocUhkQNpbAwUUWXBbfJNCAEgIcrTI2jvIGbc,1168
|
85
|
-
wandb/plot/confusion_matrix.py,sha256=
|
85
|
+
wandb/plot/confusion_matrix.py,sha256=OXwBpd_4WQzUrWlDqHL3aQOsqsE7Eex_10-MG9egvGM,3414
|
86
86
|
wandb/proto/wandb_settings_pb2.py,sha256=8niHsAuapIljCb5w27q2va0dFM2n8CzkgNk_KWO6F2A,237
|
87
87
|
wandb/proto/wandb_server_pb2.py,sha256=M6KrkWm66uODcsc7wdMMvD0q-3dfiuWs8YvaYKjEhYY,233
|
88
88
|
wandb/proto/wandb_base_pb2.py,sha256=qEn0atGozZcBIM5D0YVzax8cx2Sd0XiDU-YIHep_wZ8,229
|
@@ -103,18 +103,18 @@ wandb/proto/v3/wandb_base_pb2.py,sha256=0Ixr7LeEOTdIU_pewdbhRZOrFqRtgsOsWcyC_Tw4
|
|
103
103
|
wandb/proto/v3/wandb_internal_pb2.py,sha256=dVPu5hMjg-qmOupFoOLd3BkT5Xsz4tAFwokklFYZIoQ,105802
|
104
104
|
wandb/proto/v3/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
105
105
|
wandb/proto/v3/wandb_telemetry_pb2.py,sha256=LvnXiIIZ5TWpOa-UnOK0x6Pa4acSR4K4SkzUxc1OsDc,12969
|
106
|
-
wandb/bin/wandb-core,sha256=
|
107
|
-
wandb/bin/apple_gpu_stats,sha256=
|
106
|
+
wandb/bin/wandb-core,sha256=Wrl5m6ChK5zya5AbXaPaetVFyPOhXVlRmM8eGaj2yKo,10918226
|
107
|
+
wandb/bin/apple_gpu_stats,sha256=KDwl_WAsz4KwyH5-EE6zpWeqoTunQH4WXAo8n3hO6Gg,1440808
|
108
108
|
wandb/integration/magic.py,sha256=8b7GkkntZb-jJ7L0OF4M7mS1yJKtMI_o3jfsTufWMr4,17246
|
109
109
|
wandb/integration/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
110
110
|
wandb/integration/yolov8/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
111
111
|
wandb/integration/yolov8/yolov8.py,sha256=srryantZqO65pj1x52MiKD5m2SzdQc4nIsj4o1GPK8o,11371
|
112
|
-
wandb/integration/keras/keras.py,sha256=
|
112
|
+
wandb/integration/keras/keras.py,sha256=OhIfD5r6wQFsN_Vvuk8pcwClTMHkVXFEktwtOHPuC3o,43707
|
113
113
|
wandb/integration/keras/__init__.py,sha256=3srXSrJ6rixzVJaN85em4X00sRfeNN_HPjz22lKzj5A,425
|
114
114
|
wandb/integration/keras/callbacks/tables_builder.py,sha256=kmqwNGVbDaHo6pNfltUK5BED0g1oIwmtJOCGZZk-FAg,8840
|
115
115
|
wandb/integration/keras/callbacks/__init__.py,sha256=sY5AMC3x28iA815fqbqkkArtjctqG-m9N2D5FnyR0no,223
|
116
116
|
wandb/integration/keras/callbacks/model_checkpoint.py,sha256=LP9fUypcPhC7X95PVGImccDPAI6yAasI357syWOqrBo,8947
|
117
|
-
wandb/integration/keras/callbacks/metrics_logger.py,sha256=
|
117
|
+
wandb/integration/keras/callbacks/metrics_logger.py,sha256=1wgLGtWpIRnwE_RSjA5p1ZoJup9v62ExGc8x5olLhoM,4853
|
118
118
|
wandb/integration/lightning/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
119
119
|
wandb/integration/lightning/fabric/__init__.py,sha256=RFhr2VkC0D8b6bAXUMZzcVzqDQaoOozfP_HOogAWi9o,94
|
120
120
|
wandb/integration/lightning/fabric/logger.py,sha256=x4IcEzHLR_OIKrNWRHyUDGOnDMYVq-MsJEqqqbCCV3o,27299
|
@@ -150,7 +150,7 @@ wandb/integration/prodigy/__init__.py,sha256=1-Hg98Y4T1kSNAbrlR9TUrr7dwL1Gxxa-Ex
|
|
150
150
|
wandb/integration/prodigy/prodigy.py,sha256=Gx_mYF8CGr-A6aE6L2UuOYpICqWNYmCxBUydckT08m0,11606
|
151
151
|
wandb/integration/huggingface/__init__.py,sha256=Ui-JiM_yel2YZuS9U_LyReL3mhBZZSIUNLBODjS4l4Q,57
|
152
152
|
wandb/integration/huggingface/huggingface.py,sha256=KYP0dCYERORLNE1Sk6jfp0krHF2BQ4q4qOlF-0H-vrI,443
|
153
|
-
wandb/integration/huggingface/resolver.py,sha256=
|
153
|
+
wandb/integration/huggingface/resolver.py,sha256=Atc0vwdPar5yKzTcJF6Fu2i7h7a6TX0W9B2HdeToqrI,7858
|
154
154
|
wandb/integration/metaflow/__init__.py,sha256=nYn3ubiX9Ay6PFxr7r7F8Ia_2dLImb63rpYDmuDlkkQ,109
|
155
155
|
wandb/integration/metaflow/metaflow.py,sha256=jNo8XevmMSzB5ZXUthqG6QlFzkLMCJ0rWdF-suW1Y3M,11897
|
156
156
|
wandb/integration/lightgbm/__init__.py,sha256=kCW5E0FjwcDLnWWyxHEIPGj4KRq9EYDqk6-2i7k3WcU,7979
|
@@ -177,18 +177,18 @@ wandb/agents/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
177
177
|
wandb/agents/pyagent.py,sha256=sf6TDxJk0Q6HUZc87BIyqP779Ttv58LhdH3kyCpF6t8,13442
|
178
178
|
wandb/old/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
179
179
|
wandb/old/core.py,sha256=MJjnAcUObCVXgLQEOW_iS7RREBiTB-YZtf9VHMYV2N4,3758
|
180
|
-
wandb/old/summary.py,sha256=
|
180
|
+
wandb/old/summary.py,sha256=1ojvsoAOZF4UpSMSPpcLc2RNlg3QJfEZbe2w-xnfK1g,13815
|
181
181
|
wandb/old/settings.py,sha256=IrS10skC9gCTb8NgTWeRFgsTYL1bw36e-rG_xECk-yo,6374
|
182
182
|
wandb/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
183
183
|
wandb/cli/cli.py,sha256=Jt3m19yX5IWSeHOUttBkXIcUmiExsGdkgDLX1DOgG04,94725
|
184
184
|
wandb/testing/relay.py,sha256=zllKYZItzvXh48uwDd7x7ZPuxg7QoHj8d_kR92C-V3Q,29481
|
185
185
|
wandb/sklearn/__init__.py,sha256=bDnzytR60EFQblaAZdw76WlJBmfG-O7NrKavIEY97Ck,861
|
186
186
|
wandb/sklearn/utils.py,sha256=dfHxglqT6UlPl8ulgZNWrElfW04cdBWrFfEtDp3pvZw,5903
|
187
|
-
wandb/sklearn/plot/classifier.py,sha256=
|
187
|
+
wandb/sklearn/plot/classifier.py,sha256=gGDWyJ27YmwKprhzhHAHcHJZePjpmwykmM3dl9Mj1sk,11795
|
188
188
|
wandb/sklearn/plot/__init__.py,sha256=7RgC3Dakive4tLSmYOBTiNWtFZz-9AJG3AWtW00xcJs,1368
|
189
189
|
wandb/sklearn/plot/shared.py,sha256=1AFangiXD7q_313IznXt6dnx7tp-d-n6nx51TA7R1l8,2733
|
190
190
|
wandb/sklearn/plot/regressor.py,sha256=04-bp4luoebhm3cVg1w0CfRMMZVSFr5Nob5384QXrKU,3906
|
191
|
-
wandb/sklearn/plot/clusterer.py,sha256=
|
191
|
+
wandb/sklearn/plot/clusterer.py,sha256=o5oPW-7pxLEiUz0qUQwXw82M9Dtj8TzoMJVRWOWCpRE,4849
|
192
192
|
wandb/sklearn/calculate/learning_curve.py,sha256=zNGKMQggOH_yR_8hIfbXMfK-Ndpm7VnTfBj8ta2KzKo,1702
|
193
193
|
wandb/sklearn/calculate/class_proportions.py,sha256=1UtzZH3IuDX8-JWOZHyLiRr_HMM3ghYd-JptBFT3NWQ,2107
|
194
194
|
wandb/sklearn/calculate/silhouette.py,sha256=F1pUOoA567tmOUQvTTqcXHaBKJFMQAw0Y5IRfWevzr0,3295
|
@@ -206,7 +206,7 @@ wandb/mpmain/__main__.py,sha256=bLhspPeHQvNMyRNR7xi9v-02XfW1mhJY2yBWI3bYtbg,57
|
|
206
206
|
wandb/fastai/__init__.py,sha256=g_yvlxAGwupME34yh49EKAAg6ZIk6tOB4ThEdazq6rY,192
|
207
207
|
wandb/sdk/wandb_config.py,sha256=ZFEJEk7YoXTIySzHRGOIyyhgvbMUqTnUFAIlu-ZzGUo,10804
|
208
208
|
wandb/sdk/wandb_alerts.py,sha256=SwBPBiXRxknMTMGbsVoMMWqWK65UWMcKAdTWZtdwAeo,193
|
209
|
-
wandb/sdk/wandb_run.py,sha256=
|
209
|
+
wandb/sdk/wandb_run.py,sha256=Xr49clLL7sbSUxeeUWBApJjycZvMqC-4m9XpGdxS31Q,158617
|
210
210
|
wandb/sdk/wandb_sync.py,sha256=KhxDOHR7x8q54hAlsEx4ta1dAW1ZnzTUMr7VwJyCL5c,2273
|
211
211
|
wandb/sdk/__init__.py,sha256=g8BQ6gQ_WDIH682ayRuKzD6QZXL8NW5CZKBLJOem5iU,805
|
212
212
|
wandb/sdk/wandb_init.py,sha256=Gi-55QFdov7hv3mb-9imXpegTTynZOPwwWbrP9MRirA,50039
|
@@ -219,9 +219,9 @@ wandb/sdk/wandb_metric.py,sha256=a3GiQXr6H18m81uobYjlJaC8CL8iANzI42qxkxfZsDs,326
|
|
219
219
|
wandb/sdk/wandb_require.py,sha256=HGSkS0IEBnPEn_33jo3an27qtdx2bCxeEwQ0iri9OJk,2858
|
220
220
|
wandb/sdk/wandb_sweep.py,sha256=wPhKVjdUVNXCtIB5Bpz0c7JKHv9vLigY6TESNLa7SE4,3746
|
221
221
|
wandb/sdk/wandb_manager.py,sha256=Xy4BvabbOmE9KZwhDpDX7bDL0GUBX72MSCxlnSWY8JI,6658
|
222
|
-
wandb/sdk/wandb_setup.py,sha256=
|
222
|
+
wandb/sdk/wandb_setup.py,sha256=yerNWQV9IGrcFVyoGR0_HoYx1-j0cI0aRAqKm1-5LSg,11078
|
223
223
|
wandb/sdk/wandb_require_helpers.py,sha256=ZmKv5aXXHDTTU6nYHMLKW4_pt9X-PlaMtbRJl77kHX8,1331
|
224
|
-
wandb/sdk/integration_utils/data_logging.py,sha256=
|
224
|
+
wandb/sdk/integration_utils/data_logging.py,sha256=DDFtDaUu50aeTTgxCHHYd2f85guqqf2xfEOburRlwwQ,19533
|
225
225
|
wandb/sdk/integration_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
226
226
|
wandb/sdk/integration_utils/auto_logging.py,sha256=evcVXab1KoC1THdHpCb5RhL14DJKs-fpH2jnBH_iBIg,8348
|
227
227
|
wandb/sdk/interface/interface_relay.py,sha256=vQUrk5KESKInZsXpOxWF4YcWRZFLJjNz1mdNywbWbbE,1514
|
@@ -229,7 +229,7 @@ wandb/sdk/interface/router_queue.py,sha256=7TImXbpuwgn3iUw6kcNyC_nZ3APaBrojZyz1x
|
|
229
229
|
wandb/sdk/interface/message_future_poll.py,sha256=drjrcBKswYPYJJQLFlj7UDXq7_zg7KNcObFVetsbvhQ,1410
|
230
230
|
wandb/sdk/interface/summary_record.py,sha256=-wDv_zLYueeUY8IzyF9NPYnYwF3iBpUWbrsGcHAd2YM,1677
|
231
231
|
wandb/sdk/interface/constants.py,sha256=NJNBFr7LkshLI837D3LU3JuEURLzBwza9H-kxcy4ihw,60
|
232
|
-
wandb/sdk/interface/interface.py,sha256=
|
232
|
+
wandb/sdk/interface/interface.py,sha256=xnj3WzCU5EXd-h-7KhL2dei2EhrFeIkGEAnSoPitN0M,33341
|
233
233
|
wandb/sdk/interface/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
234
234
|
wandb/sdk/interface/router_sock.py,sha256=7-J3SFhnaqPohYaUyljwpbsvYPBXA-ZTENYnXxzbh9U,1060
|
235
235
|
wandb/sdk/interface/interface_shared.py,sha256=5Eu58KceRZ29YlKLcDFCI90t5pBb2Ihm5ZdX-fzZRNY,20587
|
@@ -274,12 +274,12 @@ wandb/sdk/data_types/histogram.py,sha256=BiIYj3yY-9oetopHf_cwPp9Z7mKS7bm3ve_ZMX0
|
|
274
274
|
wandb/sdk/data_types/trace_tree.py,sha256=KoKIsRuLG7sxTpeor-g1F_CbmY1AXn3KWnitxkVcfCM,14694
|
275
275
|
wandb/sdk/data_types/html.py,sha256=KHUmuUknVKs54RZ3IAlZ2_NgUP4MrQvEIAPM45BizyQ,3491
|
276
276
|
wandb/sdk/data_types/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
277
|
-
wandb/sdk/data_types/_dtypes.py,sha256=
|
277
|
+
wandb/sdk/data_types/_dtypes.py,sha256=zLkEAVoFc7U0vb21t2-uxYFAylfpKohbsy_8_aDOmC8,29937
|
278
278
|
wandb/sdk/data_types/utils.py,sha256=qVfISB7ycwBleVo6vQpphomwwP-KaJKtoWuV-GGpkmU,6318
|
279
279
|
wandb/sdk/data_types/saved_model.py,sha256=EG5gAcheTyzCZdBsrKvEZc11i0xtlhQzwQ3U-ra6nOI,16362
|
280
280
|
wandb/sdk/data_types/plotly.py,sha256=m75HRKSCdd9-cu-odpZ5d2Tu8KwmR_LVdW9u0H-68AE,2918
|
281
|
-
wandb/sdk/data_types/video.py,sha256=
|
282
|
-
wandb/sdk/data_types/image.py,sha256=
|
281
|
+
wandb/sdk/data_types/video.py,sha256=5pl7Y8Mm5wibUm8rSM85O5WNoTNkRIC-o389WB67a-c,8817
|
282
|
+
wandb/sdk/data_types/image.py,sha256=EXJeg9h1l0SrF6IQpHbgB88zSizYI2NP-OZQXPJXglk,25609
|
283
283
|
wandb/sdk/data_types/_private.py,sha256=zp2NRarTlIq4Hk3R2xp7j_qPGNzBMnaGHrZUN82shaY,299
|
284
284
|
wandb/sdk/data_types/base_types/media.py,sha256=Dx-ecZ27fAK2nXtIJX9chvHxlnUFgeq9FM65YSDhz5Q,11868
|
285
285
|
wandb/sdk/data_types/base_types/json_metadata.py,sha256=oKpimndUQvDW30n15tb2pbyyyKhhWwm8wsYNBEot060,1553
|
@@ -294,7 +294,7 @@ wandb/sdk/verify/verify.py,sha256=2C4C_l8EPGBXZw1PyXyHxnbVMuypHQhBkK5vV15xjG0,16
|
|
294
294
|
wandb/sdk/launch/wandb_reference.py,sha256=t4REjZz5lwB9fjDW2eo8uRgw9KeLsPeZ1Uu8tiFDBfA,4253
|
295
295
|
wandb/sdk/launch/_launch.py,sha256=v0cezR15RKgpDMJY0JAXRKd9h6tGkFqf8cKHIhe0yjw,12572
|
296
296
|
wandb/sdk/launch/__init__.py,sha256=VFClnbYvX93eHr_-N6QwHqFkiSWP94fVqvgAyY6-mUo,210
|
297
|
-
wandb/sdk/launch/_project_spec.py,sha256=
|
297
|
+
wandb/sdk/launch/_project_spec.py,sha256=lTrCTcfSE7rthRF-sf0U-IsvCNAQnk6sj5ROkUApwjs,23105
|
298
298
|
wandb/sdk/launch/_launch_add.py,sha256=AYJuYkF4RyGMhiPF1LcVT0jJtBaokC_syoKXtwRqaIg,8832
|
299
299
|
wandb/sdk/launch/utils.py,sha256=Jh4CfauG1O_ZcMovEPYy98rtxWqOwAJ5ANA1IUTwroU,30032
|
300
300
|
wandb/sdk/launch/loader.py,sha256=rSXCgiR7dStpdd_FQTm3qqzY3aa5L2vMpF1M_0OsxEE,8927
|
@@ -311,27 +311,27 @@ wandb/sdk/launch/runner/local_process.py,sha256=EawHS0CcSQcJxJMdTFI_-TE_xRWvdDpt
|
|
311
311
|
wandb/sdk/launch/runner/vertex_runner.py,sha256=PqfduJhT99v3A85lwokPQ-CZJYpW96P-2xp1kCBGXOE,8366
|
312
312
|
wandb/sdk/launch/agent/config.py,sha256=UejSBOSZXAjPv5CqT2EaJHW2gffHOsrFEXS_AAlNYKA,9616
|
313
313
|
wandb/sdk/launch/agent/__init__.py,sha256=nwGHzJptq87cXCSAJi7Wv2ShL-HZwDgMo2aFC2Rh20w,85
|
314
|
-
wandb/sdk/launch/agent/agent.py,sha256=
|
314
|
+
wandb/sdk/launch/agent/agent.py,sha256=Z0lRYWYziHvrv3Db75XIIh9qMKqP0KKk_-V76iL71dE,34806
|
315
315
|
wandb/sdk/launch/agent/job_status_tracker.py,sha256=HaWU-VbXGe6m8VvM2y6riQ2Iwb2j62ugoJsR9wzUIpU,1813
|
316
316
|
wandb/sdk/launch/agent/run_queue_item_file_saver.py,sha256=Xn6cs_QOJKX3OGIwoTinJLmrPZ08aeoevyQRPHoaf6s,1514
|
317
|
-
wandb/sdk/launch/sweeps/scheduler_sweep.py,sha256=
|
317
|
+
wandb/sdk/launch/sweeps/scheduler_sweep.py,sha256=NUMvKJYSdtrW5KGf0GsLBZWJL0vJbCzI4yGYHD8Z0z8,3000
|
318
318
|
wandb/sdk/launch/sweeps/__init__.py,sha256=qQ96Pq9fXRIs-w8y3jy_Z6fKz9DIJ8zrMjwEZLrDGB8,913
|
319
|
-
wandb/sdk/launch/sweeps/utils.py,sha256=
|
320
|
-
wandb/sdk/launch/sweeps/scheduler.py,sha256=
|
319
|
+
wandb/sdk/launch/sweeps/utils.py,sha256=fFonzoqVwchBeo4XtsVCQUmppaJbfnK2ZJYasf4CoYk,9825
|
320
|
+
wandb/sdk/launch/sweeps/scheduler.py,sha256=tmHi97EpEY5cuTrmQezGnkCvV5-R3U3cKz3JOhkLqmE,26722
|
321
321
|
wandb/sdk/launch/registry/abstract.py,sha256=eTiuMPEm0NnrTkU6M8UteZQfK50BN-n7tyev4nMA1oQ,1146
|
322
322
|
wandb/sdk/launch/registry/elastic_container_registry.py,sha256=vbDSOxzV0iTZ91Mm0qjOjWbwW6OvRlPXbIDi_qrWqGY,7276
|
323
323
|
wandb/sdk/launch/registry/local_registry.py,sha256=oe2McRQoY5DG8-SD8voDcrHAT58jMu4nYdAniyqdI10,1781
|
324
324
|
wandb/sdk/launch/registry/azure_container_registry.py,sha256=uy8j5SF7lTtHyIGl527RZtFP-y1gQErcG6IlPue56w0,4570
|
325
|
-
wandb/sdk/launch/registry/google_artifact_registry.py,sha256=
|
325
|
+
wandb/sdk/launch/registry/google_artifact_registry.py,sha256=EEPCVqP1uBxkn8T3zUIdURw67Z2D5lX2FUlHpu_zE7k,8552
|
326
326
|
wandb/sdk/launch/registry/anon.py,sha256=jft6cCObrI1mgydwX2rR9xYfdLDokHv8RqlZiMHBFCI,943
|
327
327
|
wandb/sdk/launch/environment/abstract.py,sha256=FpQSsLqJ_PpU5Jy25YpZnWTiN4_6cihmynZFI1isuE0,951
|
328
328
|
wandb/sdk/launch/environment/aws_environment.py,sha256=hVyQ7yb0UK1Kb4x-RZ5exaOeJRTRgDZwwlLFQOUVJYw,11411
|
329
329
|
wandb/sdk/launch/environment/gcp_environment.py,sha256=0US6TKVKlvVl_Y_R17xm_j_MuJdiS-L31rkHZ4O4AIo,12734
|
330
330
|
wandb/sdk/launch/environment/local_environment.py,sha256=mO35r8XgxRvqxhmmkBx3xIymz1M2lKYGtnltRB1c9mM,2258
|
331
331
|
wandb/sdk/launch/environment/azure_environment.py,sha256=2Yt-NVD-_eXR73-pp6CAneKvb9T30x6eQU-YtHO1Tko,3885
|
332
|
-
wandb/sdk/launch/builder/abstract.py,sha256=
|
333
|
-
wandb/sdk/launch/builder/build.py,sha256=
|
334
|
-
wandb/sdk/launch/builder/kaniko_builder.py,sha256=
|
332
|
+
wandb/sdk/launch/builder/abstract.py,sha256=aUGszHF2V9Q1AozKk-tuumoF__UfSyic90V3rGkIiZc,2643
|
333
|
+
wandb/sdk/launch/builder/build.py,sha256=0Rw_327uMo2JKGgWWhCz2APrkDD_Czj_nz18hvfy6CA,25529
|
334
|
+
wandb/sdk/launch/builder/kaniko_builder.py,sha256=QbbL9Ajo4b-xhzcnKf2WTMo0lnRJp_U10ZK8fCQuJnM,23208
|
335
335
|
wandb/sdk/launch/builder/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
336
336
|
wandb/sdk/launch/builder/docker_builder.py,sha256=m10WoZwL-mD5ZBUAj2edkdn8KSCmeRiSSpVngo7p5w4,6728
|
337
337
|
wandb/sdk/launch/builder/noop.py,sha256=A--UUfqkcZxCpTmBKbL6JvkE_emcJRXIkAhAfVv5u7k,1900
|
@@ -340,7 +340,7 @@ wandb/sdk/internal/update.py,sha256=RdcNeci0VeQ6y1GAWy8MS6tgeZLwJs2YAixk_eZ4h5Y,
|
|
340
340
|
wandb/sdk/internal/sender.py,sha256=r0NM8uXsE6bCDBWrp81QSx40NinMlg99WoyXXYo7Bz4,63202
|
341
341
|
wandb/sdk/internal/internal.py,sha256=AUPsOXGwag2UjHg1rQz1zGGWXhywJo85Hoc62ZQ0uCc,12722
|
342
342
|
wandb/sdk/internal/run.py,sha256=8OhVy2vfgPC8pNFq0tJ4CkQHETOBfQsFDghw50ccSXc,682
|
343
|
-
wandb/sdk/internal/job_builder.py,sha256=
|
343
|
+
wandb/sdk/internal/job_builder.py,sha256=JcDck5bGsGrYZR18p23JTKPWXqjQBpFSktRHA3nKadg,20874
|
344
344
|
wandb/sdk/internal/internal_api.py,sha256=n4JDMp9d0VvAcRjVBpIxusudsVljkdI16vmSSPAJcSg,144348
|
345
345
|
wandb/sdk/internal/handler.py,sha256=Ngq613egsAbKYuVJueLguiSnT39oZeMQQyAvvMI3V0Q,33680
|
346
346
|
wandb/sdk/internal/thread_local_settings.py,sha256=UqD6kfjsy6mvxIWcjhd-vJWkNRCeU1whuRe_-VGIklQ,527
|
@@ -388,14 +388,14 @@ wandb/sdk/lib/server.py,sha256=R8E-IqjtAvC7yLChNf2GxRNXrzJ8OMPph3RPU0IzxHo,1684
|
|
388
388
|
wandb/sdk/lib/paths.py,sha256=YiEE5mkYB5ahMuI4C27IsNvejC3z6MI5JPW1iISi864,4529
|
389
389
|
wandb/sdk/lib/sock_client.py,sha256=-KUS5JYHX8qjYjl2sCqyGr2i-tf2LjwbRPCoKYzKzRQ,10387
|
390
390
|
wandb/sdk/lib/runid.py,sha256=Qa-5ft4B85YUazkV_18OYwf9JhMaAVp0JAInZzxzX5o,392
|
391
|
-
wandb/sdk/lib/redirect.py,sha256=
|
391
|
+
wandb/sdk/lib/redirect.py,sha256=PKnzdZPs6u_Qkv-s0qjEuA8wD7asjpKSG0WvyqMHIaI,26126
|
392
392
|
wandb/sdk/lib/preinit.py,sha256=11QkGmBpoGazNaUGvyDIzBJA4QTggj7fGQdugpCvOiw,1450
|
393
393
|
wandb/sdk/lib/file_stream_utils.py,sha256=nGzraU0hjn5t8RDtSDM4jjcQL2SBIuu3m6unFUUyDR0,4023
|
394
394
|
wandb/sdk/lib/timer.py,sha256=VZUyl7fmQAB75l9QXw9Nkz9SxyYj-CvLPawAk866YKM,440
|
395
395
|
wandb/sdk/lib/filenames.py,sha256=GvzWOq85BO_Od7f69PkRKS6zYhQ88dTCtMr3c19jLEk,2006
|
396
396
|
wandb/sdk/lib/capped_dict.py,sha256=T2CNkmzfWeFgXOsFmx5IDPzgYmP1jxaVAb-nn3-qBBE,820
|
397
397
|
wandb/sdk/lib/filesystem.py,sha256=AqtdDb78OPuEJpyyk94vKik7bR9Wg7J3u8LRQgT8B-E,14135
|
398
|
-
wandb/sdk/lib/import_hooks.py,sha256=
|
398
|
+
wandb/sdk/lib/import_hooks.py,sha256=0_TJwq-EuZFUIFzFOZoVDWOMP9-Af1r2Vq5sV5sfzg4,10271
|
399
399
|
wandb/sdk/lib/timed_input.py,sha256=D7vx3N3m4LlxwkQpzS7lDi7IOnccqZ3WfLlDYRs8Oes,3229
|
400
400
|
wandb/sdk/lib/__init__.py,sha256=53BA5lIOtUXciXZcPpNsFbp-iUPzI5gQFxplTykNmOE,183
|
401
401
|
wandb/sdk/lib/telemetry.py,sha256=OdBUbhUAU1LPDJJmW5Rm6GkRDRPpeCk2SP61XUQYm2g,2752
|
@@ -404,7 +404,7 @@ wandb/sdk/lib/sparkline.py,sha256=SbeX9FkaU47BMi0-HtnpCh_cBHsUSl5n1vL7vVL9e60,13
|
|
404
404
|
wandb/sdk/lib/retry.py,sha256=AgbviljRp_33kHu5XXksdtRhF4BIJKIC7cBpY30BBuw,10097
|
405
405
|
wandb/sdk/lib/json_util.py,sha256=fAsYfaw8iMmx3KJ0wSthUSj_XpF1iAysad4XZY1kQdo,2584
|
406
406
|
wandb/sdk/lib/gitlib.py,sha256=oNd1ARdrMJxRco7hgci53QHRBGfQcGSiRxn89x8IoTs,7829
|
407
|
-
wandb/sdk/lib/tracelog.py,sha256=
|
407
|
+
wandb/sdk/lib/tracelog.py,sha256=oOB56Ya4Eo-T72JFRxL2JRzvUny7pKkFK2j8IQw-Mvw,7540
|
408
408
|
wandb/sdk/lib/proto_util.py,sha256=P4u1D9fXXyPwxjknt7BvBaHn5XNzY6cJn-sl62DTNU4,2276
|
409
409
|
wandb/sdk/lib/ipython.py,sha256=jXjV7RDxgVppYep7ol5Q7uK7fVaWYnjR1GrWlLFLzCk,4576
|
410
410
|
wandb/sdk/lib/_settings_toposort_generate.py,sha256=FQZPNGKnUcApOHjT_SYFC5APLxniN2aJJ8UnvdS2dV4,4843
|
@@ -445,8 +445,8 @@ wandb/errors/__init__.py,sha256=hCrQ6sPnkLHA2veQB1iYrS2Op59yBEMfBTMFdxih3rA,1045
|
|
445
445
|
wandb/sync/sync.py,sha256=pgWD3O-zGnNtdRNSAGSN1e-QUBByhPpRyciU69XtWkk,15644
|
446
446
|
wandb/sync/__init__.py,sha256=BzzKmWKjsrCTBAj24d-lJOEPkFUmTfvaK2MeXplSwcc,93
|
447
447
|
wandb/plots/heatmap.py,sha256=Rg04vq1uOyl8FwjHtyLCYPgQPLveDXMSGJkdmDHnOy4,2755
|
448
|
-
wandb/plots/precision_recall.py,sha256=
|
449
|
-
wandb/plots/roc.py,sha256=
|
448
|
+
wandb/plots/precision_recall.py,sha256=NoXy8XMbSKthnLMHrDXZPQuFd4XA-nlh0kGvs9NJZX4,4667
|
449
|
+
wandb/plots/roc.py,sha256=w8lzm9Itopker1zd28PlXia_q5iMxm-ErKKZ6u6DR7I,3434
|
450
450
|
wandb/plots/__init__.py,sha256=jrxt1IM4KAqoFJAtroRU014TXToZ3sAsxHYilge9uI0,331
|
451
451
|
wandb/plots/plot_definitions.py,sha256=G2Q6I7yKhCxRSzJd_nZnDTuuJgKyfRWN3MXNlwAepXw,19402
|
452
452
|
wandb/plots/utils.py,sha256=XpOrIydyDk69nnUlcGxMMtV8VUO7Zq8ECNzUyQ5IRY0,7185
|
File without changes
|
File without changes
|
File without changes
|