wandb 0.17.0rc1__py3-none-win32.whl → 0.17.0rc2__py3-none-win32.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|