wandb 0.17.0rc1__py3-none-win32.whl → 0.17.0rc2__py3-none-win32.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/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 +41 -41
- {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/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,9 +1,9 @@
|
|
1
1
|
package_readme.md,sha256=7MrccgnqmTcd7_bEs_vUZ_OpN-nfniSlgAzeJkzNw7g,4477
|
2
|
-
wandb/__init__.py,sha256=
|
2
|
+
wandb/__init__.py,sha256=lNZdWPz88324An_fcfZHZikIZJtlTM7ScvBCUufe9Xc,7333
|
3
3
|
wandb/__main__.py,sha256=uHY6OxHT6RtTH34zC8_UC1GsCTkndgbdsHXv-t7dOMI,67
|
4
4
|
wandb/_globals.py,sha256=NwgYSB2tl2Z5t1Tn1xpLtfkcmPy_dF01u-xxgnCbzoc,721
|
5
|
-
wandb/data_types.py,sha256=
|
6
|
-
wandb/env.py,sha256=
|
5
|
+
wandb/data_types.py,sha256=kClN3cbqn7cHK34VB0IrsL4aeQzJlH6JByTfXaU9jao,75220
|
6
|
+
wandb/env.py,sha256=mqsaMQcdrnFSN4Z95AQxC3KnivP1kW5KWKHZrpqANyA,13322
|
7
7
|
wandb/jupyter.py,sha256=tvP0eWTHVeI9fx4-UOkJSa0Kh1IoRIf4hbYrUSp5pL4,17447
|
8
8
|
wandb/magic.py,sha256=grKCI_AKHF4vYtTXS-Ts7FeK3sdFB8t2JRqmFwjR-F0,62
|
9
9
|
wandb/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -11,7 +11,7 @@ wandb/trigger.py,sha256=d9TizmMPsvr0k9_3SBK2nq-Mb95bTzf9DZ1aE_F0ASo,644
|
|
11
11
|
wandb/util.py,sha256=Ryi6EP1PLYLnvrvWkQv07hTTV9YXUj9otCLLxuqFMeI,62810
|
12
12
|
wandb/viz.py,sha256=o5K7rLL1we5qw9XIxfzk1nyNmf-Y6bKS0UKpWpQAUGw,3578
|
13
13
|
wandb/wandb_agent.py,sha256=PSPvpng8S3_saSGDKB3LIbzh1a_aIQrzs8gpmUDAVZM,21599
|
14
|
-
wandb/wandb_controller.py,sha256=
|
14
|
+
wandb/wandb_controller.py,sha256=77ZGcFFgp5eoymGyaowghasdpOAcEi_gDKN3wgloTPE,25488
|
15
15
|
wandb/wandb_run.py,sha256=EyOjZsthYkfV5SSorQIFmEkszZwvKfZKZCxIwzoM2Oc,164
|
16
16
|
wandb/wandb_torch.py,sha256=1_LOxzsgyWLhE2JEXwX6OwqKFS-ltusKixBWkJEjKRo,21826
|
17
17
|
wandb/agents/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -46,7 +46,7 @@ wandb/apis/public/teams.py,sha256=nb6PNKtE66jlg2ERiXvHS5aHIAeRSOs-A2X535ei_kY,56
|
|
46
46
|
wandb/apis/public/users.py,sha256=sn8YpF43Ab9y0Xs5nMMHdllTFxwsROI8TVv5NRhHtyI,3937
|
47
47
|
wandb/apis/reports/__init__.py,sha256=KVDfwbc2Yw5V09n1vfzRpK-cbdKJi10LSnO-BtJ8IXY,163
|
48
48
|
wandb/apis/reports/v1/__init__.py,sha256=Bqm0PtF-oHW5FY_RhRN0UQzUgBort8V3IaHmm-R6V4I,900
|
49
|
-
wandb/apis/reports/v1/_blocks.py,sha256=
|
49
|
+
wandb/apis/reports/v1/_blocks.py,sha256=_j9a6CwV3dCRVovtWuaS-Rh2yfUVC6zMzvh_7hnQ9LI,55151
|
50
50
|
wandb/apis/reports/v1/_helpers.py,sha256=4hf1ICLCbhkCRgi0asHnGXaU2Fxbtapaa9hjJikXUOc,2197
|
51
51
|
wandb/apis/reports/v1/_panels.py,sha256=yS5QL4MOMwfpwbkJtd06jdnkv3xngB_plE-ZazHuxC8,49665
|
52
52
|
wandb/apis/reports/v1/_templates.py,sha256=THb6ZVTWsnWCR4Ngycs8cBmtderDHhVmykszJnxWhEw,18617
|
@@ -68,11 +68,11 @@ wandb/apis/reports/v2/internal.py,sha256=JB4uvD_ZVLgv7qugFnItovAve5TKNBTAHR-lj4E
|
|
68
68
|
wandb/apis/reports/v2/metrics.py,sha256=T-S_QOF-7ITZjTbu6B5eFv94txbqK4omuIrHmjfniqM,91
|
69
69
|
wandb/apis/reports/v2/panels.py,sha256=DmG0GFsitiwYvP5PBo0fL3O3M-lMmamUyz20i1NoZHQ,281
|
70
70
|
wandb/beta/workflows.py,sha256=fSMB48d-KpFpkLPNeK9-SAzIBn2mqCE9ygQnAzQlgmU,10259
|
71
|
-
wandb/bin/wandb-core,sha256=
|
71
|
+
wandb/bin/wandb-core,sha256=LchB2DMFSyRNCOAY7SFzrzKE7PpM3bQ05FDaFLkTbms,11750400
|
72
72
|
wandb/catboost/__init__.py,sha256=jU3OnbWkK6ZzuiMOIGejk_cQdsrIMFpaaCn8_J-oaus,235
|
73
73
|
wandb/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
74
74
|
wandb/cli/cli.py,sha256=ufYeJUvqc2oeYnMzo1NBpuDFkYp5eR0XcGtsz_kM_pI,97615
|
75
|
-
wandb/docker/__init__.py,sha256=
|
75
|
+
wandb/docker/__init__.py,sha256=3kJI2WOth-5ov14ECjeiDIouN6KezwF-AdUYvZnMphs,10888
|
76
76
|
wandb/docker/auth.py,sha256=Qaf7C5t4mrGyswNTXKsxV3QBydY_RWqwP5teA8XZ_2I,15468
|
77
77
|
wandb/docker/wandb-entrypoint.sh,sha256=ksJ_wObRwZxZtdu1Ahc1X8VNB1U68a3nleioDDBO-jU,1021
|
78
78
|
wandb/docker/www_authenticate.py,sha256=eZleMjPqfGxy81QlyYVan2UTQkY3pxipgCenpIKW8NU,2899
|
@@ -104,11 +104,11 @@ wandb/integration/fastai/__init__.py,sha256=g7O1bVYBYI97sGYzcM513AZOQw-y4g2q1pqL
|
|
104
104
|
wandb/integration/gym/__init__.py,sha256=JqFVsV3P6UXHtS08-8pDYwtUhF8dXIs-frAppYit1l4,2361
|
105
105
|
wandb/integration/huggingface/__init__.py,sha256=lq8UoDQn3w7Rt3ELTMXmhYPQoNX03tYnMDaHUV9VRBs,60
|
106
106
|
wandb/integration/huggingface/huggingface.py,sha256=S6FhJvsJFJbgsuj4eAMeTn0aFl-PExdhpwo1FRFGwwc,461
|
107
|
-
wandb/integration/huggingface/resolver.py,sha256=
|
107
|
+
wandb/integration/huggingface/resolver.py,sha256=5i7-SN6t-7cMYCAODw5Jlsxtw5v_aWlpvZS3Gy8atFU,8071
|
108
108
|
wandb/integration/keras/__init__.py,sha256=LuSffYaN9Rc7be9saXxCtMySTawwCeB5hve4-1SlLec,439
|
109
|
-
wandb/integration/keras/keras.py,sha256=
|
109
|
+
wandb/integration/keras/keras.py,sha256=noeTVBKDehF62VSK2hmA2ubArP3de9w30E2a3YpzYEY,44787
|
110
110
|
wandb/integration/keras/callbacks/__init__.py,sha256=c9Wkvv3i-Xz40SDBWHHDhPod8y26HdO0vq1jF6tTlro,228
|
111
|
-
wandb/integration/keras/callbacks/metrics_logger.py,sha256=
|
111
|
+
wandb/integration/keras/callbacks/metrics_logger.py,sha256=0zrbBfpyCgEP1vlExn36gUkcsOEDxhD3aboJcVBc408,4983
|
112
112
|
wandb/integration/keras/callbacks/model_checkpoint.py,sha256=kG_Vlg1sXDrtu_Zch_i2B9_3l-0KXtuKsiWhvgn04EI,9147
|
113
113
|
wandb/integration/keras/callbacks/tables_builder.py,sha256=WZhGAZu0OVavItPLa8jBk3z94jeZCg70ASDsbwy5vMc,9066
|
114
114
|
wandb/integration/kfp/__init__.py,sha256=wXFFdr8IgU_YNGovusyQDuus09mgOiofLk4YRptvR2c,142
|
@@ -160,10 +160,10 @@ wandb/mpmain/__main__.py,sha256=N6Zydl_eEQRlb48wJ5dFvBhwB_obaMO8am2Y6lx0c_w,58
|
|
160
160
|
wandb/old/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
161
161
|
wandb/old/core.py,sha256=ms5108fC_7fZD5sQs2BsDd5xhLpZjN5E5kd84qBDHtE,3889
|
162
162
|
wandb/old/settings.py,sha256=K_yxF9YBnCoPJIn083ajPq7WAD_QIfOHqBa4RLwNk1c,6547
|
163
|
-
wandb/old/summary.py,sha256=
|
163
|
+
wandb/old/summary.py,sha256=NzZBuLLdbMs-ezE8uSEu1ZgiRoaSMPK1esNojiO3H8c,14250
|
164
164
|
wandb/plot/__init__.py,sha256=vA2rngwd8ggs0z28JFVdi98q9izgfHYU0CMe4p2aGQY,499
|
165
165
|
wandb/plot/bar.py,sha256=pkuzh7ilnBxZLrR8hZwALa0SrimtPj9CXzCOX08WPUY,1210
|
166
|
-
wandb/plot/confusion_matrix.py,sha256=
|
166
|
+
wandb/plot/confusion_matrix.py,sha256=hckeqncNfdhV9KWo4LoTBMXbR0P3S23VRBYvZvWRcWY,3513
|
167
167
|
wandb/plot/histogram.py,sha256=UaWPwKSTpEEvWtkNAxRk8jG2vrQE2GPr0u6mTdmv2T8,1043
|
168
168
|
wandb/plot/line.py,sha256=kc7uwpKNwg5r4wSYH-yVsmI-qemm3i8NQvpRPwMeGDo,1214
|
169
169
|
wandb/plot/line_series.py,sha256=CpxsABveCXFVRc9E8KTJBy6o58hBiT0gTbSkdKiPlcM,3053
|
@@ -176,8 +176,8 @@ wandb/plots/heatmap.py,sha256=x2a2gHkbIkgrK0eA5r2xQOj1P5T6u6vHoZiGIXVr0I8,2836
|
|
176
176
|
wandb/plots/named_entity.py,sha256=b3ks41XNbIOUVx2M6k-qvHTGDWY4lG1hLmU-hYNperw,1232
|
177
177
|
wandb/plots/part_of_speech.py,sha256=r2rnw7vR2nG2RR9BePqSCaML9aP5pr4hsA8rZFyB2J0,1466
|
178
178
|
wandb/plots/plot_definitions.py,sha256=qtqGCLB9A72ir758IlUdML9QqIfgJck8kxSlGwXHos0,20170
|
179
|
-
wandb/plots/precision_recall.py,sha256=
|
180
|
-
wandb/plots/roc.py,sha256=
|
179
|
+
wandb/plots/precision_recall.py,sha256=m0TlpSc_osqt0nZbsapRcS5gwYmiwJ5XvijTA2mEhtA,4788
|
180
|
+
wandb/plots/roc.py,sha256=JnnN3-aKnd1QZhidDOXa4dbtYloOAoXyKIpYAPghyM0,3537
|
181
181
|
wandb/plots/utils.py,sha256=FSjsVVlBqkheb7oHBEJaPwDKUVx_fgdFu8Y6z91OY5A,7380
|
182
182
|
wandb/proto/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
183
183
|
wandb/proto/wandb_base_pb2.py,sha256=Msvc-U1UOazA_jJHrfYYl6tUMLjohT77hLYBK65RWWg,237
|
@@ -210,9 +210,9 @@ wandb/sdk/wandb_manager.py,sha256=dnV3vFFrXwxgbi_l73UVo28Uf5pRj_-UjxN26rfbMxE,68
|
|
210
210
|
wandb/sdk/wandb_metric.py,sha256=oI6NQJJ_tyZ3YcnO0Xg5avDVr3Dh6tpTvHuPEMda30A,3378
|
211
211
|
wandb/sdk/wandb_require.py,sha256=ecGIPaRLUemYuCPNpeJKqZtpG_gieMfpQEd9mfqiB44,2950
|
212
212
|
wandb/sdk/wandb_require_helpers.py,sha256=4PUXmVw86_XaKj3rn20s5DAjBMO8L0m26KqnTLaQJNc,1375
|
213
|
-
wandb/sdk/wandb_run.py,sha256=
|
213
|
+
wandb/sdk/wandb_run.py,sha256=wg3-6etV-MEqSNh9w_y0Y8X355Y-qsxmpGeyIiEkJxE,162811
|
214
214
|
wandb/sdk/wandb_settings.py,sha256=NviKftaWx7rzeCkE1pbj6XaWC8Mh4ro_XS_qqDlmR9M,77216
|
215
|
-
wandb/sdk/wandb_setup.py,sha256=
|
215
|
+
wandb/sdk/wandb_setup.py,sha256=z7-VK52ezzCkLubW7lVXu-D9IA3q9GJg5AMlGW1vePo,11413
|
216
216
|
wandb/sdk/wandb_summary.py,sha256=eEV3hvHhbc1XQus0MUqFmvhXCzd3SPjvVVVg_fVZ1QM,4686
|
217
217
|
wandb/sdk/wandb_sweep.py,sha256=MF8UdjqO1nG8Xgi1_cl58b2K90QpjW_7kSRfzobaGyU,3860
|
218
218
|
wandb/sdk/wandb_sync.py,sha256=Y_eZ_xW3q9oRAlFUo7s9n2V55z6SP-rd5xr5g6HDKR0,2348
|
@@ -250,18 +250,18 @@ wandb/sdk/artifacts/storage_policies/wandb_storage_policy.py,sha256=Y03RPCEq42Ja
|
|
250
250
|
wandb/sdk/backend/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
251
251
|
wandb/sdk/backend/backend.py,sha256=zdW9iehb6PRRdQ_vfftUa5naOgWwjV1QFDWijoysQ0c,8548
|
252
252
|
wandb/sdk/data_types/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
253
|
-
wandb/sdk/data_types/_dtypes.py,sha256=
|
253
|
+
wandb/sdk/data_types/_dtypes.py,sha256=QvKULB6zuxmDOVoABWIGdXPYxKKedUgI5ATM5dlgL4o,30848
|
254
254
|
wandb/sdk/data_types/_private.py,sha256=vpatnpMcuWUtpSI-dY-YXs9zmffAgEXCoViIGS4yVT8,309
|
255
255
|
wandb/sdk/data_types/histogram.py,sha256=7Rym2_9mIXPJPwINeDRuGHWJOYS3bzQCUCRp64VxKA4,3298
|
256
256
|
wandb/sdk/data_types/html.py,sha256=ane_YZpe3_K0z_gEjSnk1yJegQL0Az3bbHZ0YWSpq-g,3606
|
257
|
-
wandb/sdk/data_types/image.py,sha256=
|
257
|
+
wandb/sdk/data_types/image.py,sha256=wsLI87KQBR_v4xQWKSLyZmwyhQwppg3CIH6jj6kifro,26296
|
258
258
|
wandb/sdk/data_types/molecule.py,sha256=x6s_8xBStCrEsHsaQR5lAmslx4TCX8qqOWxEt-KmuDY,8839
|
259
259
|
wandb/sdk/data_types/object_3d.py,sha256=CxmfXfD8YFzM8pP00sM7c5PavxTWqFyrdoPPnGrsMjk,12879
|
260
260
|
wandb/sdk/data_types/plotly.py,sha256=TqVQIDzOdG9o5zavzkG0tvhVS9AqCEG8wKqqi0gkoMA,3000
|
261
261
|
wandb/sdk/data_types/saved_model.py,sha256=UOeqBApyxvZEvLhjg5qvkUC1_4bL5HLc7oAGJx5FiRM,16806
|
262
262
|
wandb/sdk/data_types/trace_tree.py,sha256=hL8DU_MMvq6Au6dz32RpqnzqwAw10KmZjgefyrxzvg8,15132
|
263
263
|
wandb/sdk/data_types/utils.py,sha256=GNNyZtCMHXIq4P3v5IzO4m019eTo-S--AXURvt8Djvg,6498
|
264
|
-
wandb/sdk/data_types/video.py,sha256=
|
264
|
+
wandb/sdk/data_types/video.py,sha256=KODbTbIgnFLoxFcWCeQixmUbwsVsoNB1n6EN3eN5TJM,9062
|
265
265
|
wandb/sdk/data_types/base_types/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
266
266
|
wandb/sdk/data_types/base_types/json_metadata.py,sha256=idI3dNB1e348AefsQC1GNpVqYl2raWzJmDfl2ITL-_w,1608
|
267
267
|
wandb/sdk/data_types/base_types/media.py,sha256=DKorWvPJaBbvCj6FY9LBc2KwbweR99Y-KPvl2dtDDgw,12181
|
@@ -272,10 +272,10 @@ wandb/sdk/data_types/helper_types/classes.py,sha256=A59I1s4u7fdS68UoVQJgYqr1PTQd
|
|
272
272
|
wandb/sdk/data_types/helper_types/image_mask.py,sha256=arArY2RWtGi_Yu7PjlB5mntt9c50PYMuDthIhUGizK4,8795
|
273
273
|
wandb/sdk/integration_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
274
274
|
wandb/sdk/integration_utils/auto_logging.py,sha256=veVzow8oICc0MzGj2_HkyAVPAbW6rwD_1I20JpEC7oI,8587
|
275
|
-
wandb/sdk/integration_utils/data_logging.py,sha256=
|
275
|
+
wandb/sdk/integration_utils/data_logging.py,sha256=DtSEZB-TzxQKhjm9IXNxDeOAUZyDXGYrfRvVh2Cju54,20008
|
276
276
|
wandb/sdk/interface/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
277
277
|
wandb/sdk/interface/constants.py,sha256=GKZ2hATTBCt7yU8kloafZR34yLChiI36O_VtxZZbQyg,64
|
278
|
-
wandb/sdk/interface/interface.py,sha256=
|
278
|
+
wandb/sdk/interface/interface.py,sha256=i41dt1HzWMk73QFT7LOifYcir-7me5--xw97QTEa2Us,34290
|
279
279
|
wandb/sdk/interface/interface_queue.py,sha256=QxHmramXIHs4rQEzIk3qzF9ui5BPEAcXSGPt8TZjaEE,2026
|
280
280
|
wandb/sdk/interface/interface_relay.py,sha256=R28bIhebZux7PwFeJmO8wOOkm_uCjmQ2T5lKKy3sL-Y,1567
|
281
281
|
wandb/sdk/interface/interface_shared.py,sha256=Tw2Q_h4UK_ZIHiwn_5nVZG4fFnEM1WO_5HZqcznGPf0,21137
|
@@ -297,7 +297,7 @@ wandb/sdk/internal/handler.py,sha256=HRcHGiPcNIL4-5Ty0_-tZy396QXHQEyISe1npuxlz5I
|
|
297
297
|
wandb/sdk/internal/internal.py,sha256=b-oc7U7P7xKiL8s-HqTPScDJpYvilyCOEnnBIt9-Clo,13139
|
298
298
|
wandb/sdk/internal/internal_api.py,sha256=7_22Xwwx5mCBknAXiQPANA3qdE4pFq9xifev_h6C0yI,148550
|
299
299
|
wandb/sdk/internal/internal_util.py,sha256=LtusH3QYE12A4vH-7-gHXX0O7TfJ2haESf0_MYdYe50,2754
|
300
|
-
wandb/sdk/internal/job_builder.py,sha256=
|
300
|
+
wandb/sdk/internal/job_builder.py,sha256=MImIZ2hj_D1EcS-drZHKBRIgm5Wkqy2EFJe2IXk-lzA,21428
|
301
301
|
wandb/sdk/internal/profiler.py,sha256=QM5R8-0oWE7WhllhpPEAEwCyB6Uk62HATz8e2F5qIUk,2426
|
302
302
|
wandb/sdk/internal/progress.py,sha256=DaD0P63Pfr-_63O4byIPWfmBmhkohNpOS_MaToEvA0I,3383
|
303
303
|
wandb/sdk/internal/run.py,sha256=rkEwqdaYPUh_oB-gdCnQ1JIpSHTMoOVadV9CJEgy-kA,707
|
@@ -331,7 +331,7 @@ wandb/sdk/internal/system/assets/trainium.py,sha256=AxbYoNUF8TueGQyU2-ap2AfA4PNe
|
|
331
331
|
wandb/sdk/launch/__init__.py,sha256=_xdtI6y9W4t9hZ6jywuw5wyIMKB0FZWVeMmmH3wy3lQ,216
|
332
332
|
wandb/sdk/launch/_launch.py,sha256=apfqDV5ZwwVOYto4dUpWWBYqxP50z92lnfxeF-d5K-c,12920
|
333
333
|
wandb/sdk/launch/_launch_add.py,sha256=bUL5JV1fqnSLQH0QvdnaygA-BgLgP1p2_GZc33g6p0o,9089
|
334
|
-
wandb/sdk/launch/_project_spec.py,sha256=
|
334
|
+
wandb/sdk/launch/_project_spec.py,sha256=Ig3CpTlRjreqNN5VMWC1iu96GUHBoezJUGYDKWDayQE,23685
|
335
335
|
wandb/sdk/launch/create_job.py,sha256=Gb7I3D1VfA8V9TmLzZL7OBuWmc-wQdoxGCUmpbXKe5c,17704
|
336
336
|
wandb/sdk/launch/errors.py,sha256=ry-q97_2vU_aWtTJPCOgqly2TgIJsCiKnywpdXXjnw8,324
|
337
337
|
wandb/sdk/launch/git_reference.py,sha256=5pswecUCOOo2UUrfA5I9q6zrFe80M5IGODLNzXxDlgo,3867
|
@@ -339,15 +339,15 @@ wandb/sdk/launch/loader.py,sha256=gka4OPM9Co3xyjNXFkrHW2IgRHrAMZqqqkiLx4E-YpE,91
|
|
339
339
|
wandb/sdk/launch/utils.py,sha256=ZJP8w2JWDwOEiHMmMjRdS-m_-uv6vfeMO_DGbjBdES4,30898
|
340
340
|
wandb/sdk/launch/wandb_reference.py,sha256=lTPdDlCkx2jTgQBRbXcHR1A1vXKshOYM-_hscqvDzeQ,4391
|
341
341
|
wandb/sdk/launch/agent/__init__.py,sha256=J5t86fGK2bptnn6SDIxgSGssQ19dIzjSptFZ1lXnYsc,90
|
342
|
-
wandb/sdk/launch/agent/agent.py,sha256=
|
342
|
+
wandb/sdk/launch/agent/agent.py,sha256=q9ckbomP9-GOEZ8TC9lAumEGPT357hvxd_Lq7zXoGlI,35684
|
343
343
|
wandb/sdk/launch/agent/config.py,sha256=2bUiU6tOII3K-whHJs4xfaZP0P9gqMcGbno7SLh9uOg,9915
|
344
344
|
wandb/sdk/launch/agent/job_status_tracker.py,sha256=BS6aDQVJ_9g5th8QUmx-tYgk3o3u1CaWuQC6-D3CfNw,1866
|
345
345
|
wandb/sdk/launch/agent/run_queue_item_file_saver.py,sha256=vNqdkL6DuyIoymVq84-NZ619zRuFQAQnG1eGZun45UY,1561
|
346
346
|
wandb/sdk/launch/builder/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
347
|
-
wandb/sdk/launch/builder/abstract.py,sha256=
|
348
|
-
wandb/sdk/launch/builder/build.py,sha256=
|
347
|
+
wandb/sdk/launch/builder/abstract.py,sha256=zuGyIBDlxXrU7DLQizliWMVxlaMPfmoKjb31WKzlzAA,2732
|
348
|
+
wandb/sdk/launch/builder/build.py,sha256=WgIP9ampzMDFwOPyArwgSn023poYFEPycDAKeo_7piI,26235
|
349
349
|
wandb/sdk/launch/builder/docker_builder.py,sha256=K1LpFmgMnsBEJHuOelx65rtsv3ZBsKvVaDQKw2K3e98,6921
|
350
|
-
wandb/sdk/launch/builder/kaniko_builder.py,sha256=
|
350
|
+
wandb/sdk/launch/builder/kaniko_builder.py,sha256=Ldu7IJ2cTSYY2BrVPblWDyWsoiPflndHlCBmJk6I0H4,23787
|
351
351
|
wandb/sdk/launch/builder/noop.py,sha256=Mr_3IKCmfwX45xztku4uVzeGZh2fbuwylNbNBS3Pjmk,1958
|
352
352
|
wandb/sdk/launch/builder/templates/_wandb_bootstrap.py,sha256=_UKbEWu8PBEXEELSYxlBPFWtNQUUMrJgzwXIatV1jA0,7413
|
353
353
|
wandb/sdk/launch/environment/abstract.py,sha256=hKiEBy54VK0T0Z-6ykO6QXL-Wt8EoHxTNoAfCSULkF0,980
|
@@ -359,7 +359,7 @@ wandb/sdk/launch/registry/abstract.py,sha256=rpPQlTfOTA6wWTU1DdtbnM9myJxQAwXrg4S
|
|
359
359
|
wandb/sdk/launch/registry/anon.py,sha256=tpo6zCREdt3-uUCc47cpX5e97y2QIfRq9lUrh_9zWNg,972
|
360
360
|
wandb/sdk/launch/registry/azure_container_registry.py,sha256=dc9MomABu6RWA4VVaRFItyJuY1WamKZO7qxsSYyT4Ns,4694
|
361
361
|
wandb/sdk/launch/registry/elastic_container_registry.py,sha256=F8AriatH_Pbz7KZSxklgMRD00XferQyzKbRzf_nNjyw,7468
|
362
|
-
wandb/sdk/launch/registry/google_artifact_registry.py,sha256=
|
362
|
+
wandb/sdk/launch/registry/google_artifact_registry.py,sha256=SeTLhAaVbWnV9G5nC4m15qWOEvXBd7PTWVdmFF8bhjw,8771
|
363
363
|
wandb/sdk/launch/registry/local_registry.py,sha256=DAiIJKrSVwX2UwUjqDtKUVPdRPT5PdEUtz3v6TcvSoE,1848
|
364
364
|
wandb/sdk/launch/runner/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
365
365
|
wandb/sdk/launch/runner/abstract.py,sha256=ZZLaKjpC6kqR5Vj0QYIQn6nvoKTrkKG00HaNDxIGrTU,6054
|
@@ -370,9 +370,9 @@ wandb/sdk/launch/runner/local_process.py,sha256=qduzLJhwRJ3FN1otdmLhraNTI6xJ8gBR
|
|
370
370
|
wandb/sdk/launch/runner/sagemaker_runner.py,sha256=1jnpMrkC0ouBOaKfqMpZmLBHtXQPvLkDVW7EdwacE4Q,15634
|
371
371
|
wandb/sdk/launch/runner/vertex_runner.py,sha256=FGCz2aQrdzqjEHh3R1gHPY9RGmzs50lqGWU4Xzkxq9I,8595
|
372
372
|
wandb/sdk/launch/sweeps/__init__.py,sha256=GuwdnDZMewJlrPc_Ik3V5rkbe9jchp6j8nCiAYMAo0s,952
|
373
|
-
wandb/sdk/launch/sweeps/scheduler.py,sha256=
|
374
|
-
wandb/sdk/launch/sweeps/scheduler_sweep.py,sha256
|
375
|
-
wandb/sdk/launch/sweeps/utils.py,sha256=
|
373
|
+
wandb/sdk/launch/sweeps/scheduler.py,sha256=UrLJrCofE7e79IwAMcHhp8Y6uUeS4F2OtXQ2iypdPAE,27460
|
374
|
+
wandb/sdk/launch/sweeps/scheduler_sweep.py,sha256=KeRVj_cjabVR6ZY4Qx5IqiH3nQHeT87_cAYzESBUEKU,3091
|
375
|
+
wandb/sdk/launch/sweeps/utils.py,sha256=YPGiHuqA7nzspFx9KIgFwCuEHbuDV9WFfdOMgVTvrpE,10141
|
376
376
|
wandb/sdk/lib/__init__.py,sha256=_sOt85qPxtPyM_LaN0IE6dO1CImzwXJXzVHC7R24VBE,188
|
377
377
|
wandb/sdk/lib/_settings_toposort_generate.py,sha256=eA4xFE750evX-Upox1SpXvAoNffNAy7_C-9ydyeC4Qw,5002
|
378
378
|
wandb/sdk/lib/_settings_toposort_generated.py,sha256=_cQuUvNLIzTNi1A2jczaSvTMbmYoZmjBfE8_GbjQVFc,5405
|
@@ -393,7 +393,7 @@ wandb/sdk/lib/gitlib.py,sha256=FYSRCAAZaKEmrZXXWgt_TLVYq1pRvl9tKD77v9r7fdM,8068
|
|
393
393
|
wandb/sdk/lib/gql_request.py,sha256=NnOuP2yWqqb85ALrmGx6vA5IpcmRarxn2NvFxdksW6U,2465
|
394
394
|
wandb/sdk/lib/handler_util.py,sha256=FizfOj-9I-sY92H84uwGInUe7wE8vlU_uQl7-SGI01Y,610
|
395
395
|
wandb/sdk/lib/hashutil.py,sha256=-my5wSmror7d1MxCfrwKzqClq1PVk-qXizl7NmaeGQQ,1807
|
396
|
-
wandb/sdk/lib/import_hooks.py,sha256=
|
396
|
+
wandb/sdk/lib/import_hooks.py,sha256=oJBolf3pWRGdzpeG9VErDYbhicHsTDWdOgNxauvuCqw,10546
|
397
397
|
wandb/sdk/lib/ipython.py,sha256=CD62OAa-FCKS4Z6SL201vavSVGwrsHt8mohNXG5I360,4722
|
398
398
|
wandb/sdk/lib/json_util.py,sha256=a3TtH5QIrVNeORPpblGvZvaF5VDItkD5luN_iwDpohQ,2664
|
399
399
|
wandb/sdk/lib/lazyloader.py,sha256=FSmLyrVc7r36bERkmllcX3wJ2zso7Q1oKJ3pQ9wV0VA,1940
|
@@ -403,7 +403,7 @@ wandb/sdk/lib/paths.py,sha256=Knkww9wdMK4wqsj5B9aMEJDvIFoCf80xXl28It3FIG4,4635
|
|
403
403
|
wandb/sdk/lib/preinit.py,sha256=IDK_WXbcrfzXUNWZur505lHIY_cYs1IEWp26HMpIf74,1492
|
404
404
|
wandb/sdk/lib/printer.py,sha256=9Atz9QVxJa1xiTZfs2fXnSetaXhP0mgnnKMsSbBEfFU,9954
|
405
405
|
wandb/sdk/lib/proto_util.py,sha256=GQRKPdtpQLzOscdhtSCqH-wBIsh4D1U2DrNIT567c3o,2345
|
406
|
-
wandb/sdk/lib/redirect.py,sha256=
|
406
|
+
wandb/sdk/lib/redirect.py,sha256=adiyhcyHec3whqYZpqyzQkLq41zXMchwSz52SIHh19w,26971
|
407
407
|
wandb/sdk/lib/reporting.py,sha256=Y5oEuiRT5lGKeGI751OQ2fxR_LtlvQW3M35m7FdFS-8,2509
|
408
408
|
wandb/sdk/lib/retry.py,sha256=SSwl31QZj_suoVEeSeHd64Qn0v4fm8TmAo4_1A2zQFE,10386
|
409
409
|
wandb/sdk/lib/run_moment.py,sha256=UriDncUhdBTQhPrfxdQBIAxVwX-53R1K2-5iZqe3uKw,2384
|
@@ -414,7 +414,7 @@ wandb/sdk/lib/sparkline.py,sha256=x5XSsLn0bV8hLuy54K4TToRcEZtRHUugK8VDiHFo93o,14
|
|
414
414
|
wandb/sdk/lib/telemetry.py,sha256=1_QPck47Zj0b5dA37lIfpev1tHaHJHoNaiXKjyvdPoA,2852
|
415
415
|
wandb/sdk/lib/timed_input.py,sha256=XF03SXTQj0AysHiIV-LKtbwxtSUx0E7xts7zDPs9kJQ,3362
|
416
416
|
wandb/sdk/lib/timer.py,sha256=Ar1t8f3OFAA4PB2fB2MT9D41y3g2Or56wSAYezvdXqo,459
|
417
|
-
wandb/sdk/lib/tracelog.py,sha256=
|
417
|
+
wandb/sdk/lib/tracelog.py,sha256=_Ng37iwpAxEevt8UAEkUl9cLUim790CskU6k3CNc-A0,7795
|
418
418
|
wandb/sdk/lib/wburls.py,sha256=m2CWuFtFPD9R4SzEEsKN-iSwCKiKr6dhOi8_WYrvzHY,1481
|
419
419
|
wandb/sdk/service/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
420
420
|
wandb/sdk/service/_startup_debug.py,sha256=piYn6Jg-uR5W-EkablqikEpenyYPQuoQynrPq-iccdo,610
|
@@ -442,8 +442,8 @@ wandb/sklearn/calculate/residuals.py,sha256=jrwp3yzAaTmsytstVv1uakVF-_N83YPY47sZ
|
|
442
442
|
wandb/sklearn/calculate/silhouette.py,sha256=jAfnjXL2lojBF0843Uw75InBw4Axn1IPqeCUkjizItE,3413
|
443
443
|
wandb/sklearn/calculate/summary_metrics.py,sha256=Da8768ghW1mWdy9hXiC4j2hurJz83yYXSNRM6HL9BCk,2046
|
444
444
|
wandb/sklearn/plot/__init__.py,sha256=AE1Qm73Q_g71OsQdvTr0_l4thF6WpobbxNF-ZnKR0Q8,1403
|
445
|
-
wandb/sklearn/plot/classifier.py,sha256
|
446
|
-
wandb/sklearn/plot/clusterer.py,sha256=
|
445
|
+
wandb/sklearn/plot/classifier.py,sha256=xYWXAUcf4EWMIPZJN7RCJNsuDLhy3AsIMNCF4tG44tA,12126
|
446
|
+
wandb/sklearn/plot/clusterer.py,sha256=bhWysqNQca9g49w9zrbFG-hk8MBl-NZkcjpWaVcg74s,4991
|
447
447
|
wandb/sklearn/plot/regressor.py,sha256=60Gaj3iKPORvFT0QM7CtdfvI86AuxoTmFVVNPJp7Kp8,4027
|
448
448
|
wandb/sklearn/plot/shared.py,sha256=4fKeR4DhTaTNt-0tPSRKFOt5YuKgK6lGQz4mCm6xJDc,2824
|
449
449
|
wandb/sync/__init__.py,sha256=4c2ia5m6KHQo4xU_kl-eQxfm22oiXOCiVYSqV3_vBLk,96
|
@@ -834,8 +834,8 @@ wandb/vendor/watchdog_0_9_0/wandb_watchdog/utils/platform.py,sha256=7fpTDfxSYvSR
|
|
834
834
|
wandb/vendor/watchdog_0_9_0/wandb_watchdog/utils/unicode_paths.py,sha256=xzyQmuba2gns1s3Qemu9SXaKV5zeTL3TP9--xOi541g,2254
|
835
835
|
wandb/vendor/watchdog_0_9_0/wandb_watchdog/utils/win32stat.py,sha256=R48kuuEIi7XzCJBJ6Xo7v6DJIbOP5EwcsWaPf5Axn_g,3951
|
836
836
|
wandb/xgboost/__init__.py,sha256=SIZt3anE0-Ffu4dPDE8FFAAuUisqS2YgPAH8cCPBNOg,239
|
837
|
-
wandb-0.17.
|
838
|
-
wandb-0.17.
|
839
|
-
wandb-0.17.
|
840
|
-
wandb-0.17.
|
841
|
-
wandb-0.17.
|
837
|
+
wandb-0.17.0rc2.dist-info/METADATA,sha256=UmWeStX4LWpPxClnh-Ro5R5JHO6cq4CsaKsiUDiGc_s,10112
|
838
|
+
wandb-0.17.0rc2.dist-info/WHEEL,sha256=2DRd_I5Nluwhn03SIbdmN0V_7r9FqkBQixEKn2cGyEA,89
|
839
|
+
wandb-0.17.0rc2.dist-info/entry_points.txt,sha256=v4FCOZ9gW7Pc6KLsmgQqpCiKTrA1wh2XHmNf-NUP1-I,67
|
840
|
+
wandb-0.17.0rc2.dist-info/licenses/LICENSE,sha256=rJ7p1acqNi17WFOAJ9WqsImXZtKZDA3i_gzdDVGRuFQ,1102
|
841
|
+
wandb-0.17.0rc2.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|