wandb 0.17.0rc1__py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl → 0.17.0rc2__py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.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,29 +1,29 @@
|
|
1
1
|
package_readme.md,sha256=xigFCsrzePKq72pDIEfkoVzb-NzDRsKpXXI0FMJ-6jg,4382
|
2
|
-
wandb-0.17.
|
3
|
-
wandb-0.17.
|
4
|
-
wandb-0.17.
|
5
|
-
wandb-0.17.
|
6
|
-
wandb-0.17.
|
2
|
+
wandb-0.17.0rc2.dist-info/RECORD,,
|
3
|
+
wandb-0.17.0rc2.dist-info/WHEEL,sha256=RA_GL1JAviWknYUZbhn8YJbjFypySnNDEglzaMNvfkI,143
|
4
|
+
wandb-0.17.0rc2.dist-info/entry_points.txt,sha256=v4FCOZ9gW7Pc6KLsmgQqpCiKTrA1wh2XHmNf-NUP1-I,67
|
5
|
+
wandb-0.17.0rc2.dist-info/METADATA,sha256=UmWeStX4LWpPxClnh-Ro5R5JHO6cq4CsaKsiUDiGc_s,10112
|
6
|
+
wandb-0.17.0rc2.dist-info/licenses/LICENSE,sha256=izOKRJpGOx1PrJiGOKR0HsNdlB5JdH2d0Z4P7a7ssTc,1081
|
7
7
|
wandb/wandb_torch.py,sha256=DGY0jsWashL02iXGce-5XypfSJIbBWfLsCrmixqNTCY,21276
|
8
8
|
wandb/jupyter.py,sha256=32Oeq37SRrx5I_JSwLYi13t9zSMWXDwQtFB8CaQwpA8,16946
|
9
9
|
wandb/trigger.py,sha256=PaitU3sX6ekGkd2R8iD6d_VtI72ypF7LaPBXh3rXY7Q,615
|
10
10
|
wandb/__main__.py,sha256=gripuDgB7J8wMMeJt4CIBRjn1BMSFr5zvsrt585Pnj4,64
|
11
11
|
wandb/_globals.py,sha256=CccwOAls5bxJArYHg12b08ZeKR8Qu9u57GtYWjBH0o0,702
|
12
12
|
wandb/viz.py,sha256=3wrGhPKNdj4VZ-hD1wanzF01XH2IHcUBl_1ZnYKnl5Q,3455
|
13
|
-
wandb/env.py,sha256=
|
14
|
-
wandb/__init__.py,sha256=
|
13
|
+
wandb/env.py,sha256=ikF0Tuie1IiuDWf0F8jWf9AZplC7jR8vohk4PgLjke8,12826
|
14
|
+
wandb/__init__.py,sha256=IYiW7K4FwEtQ-koHQ-dvVDnXyWEeX7Uq6Cus-_eOJTw,7080
|
15
15
|
wandb/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
16
16
|
wandb/magic.py,sha256=YVSQmkrtlQ56p-VqkwjiPGNBa694UvPALxc4yp6RiLk,59
|
17
17
|
wandb/util.py,sha256=CqQF-44w1uokzU5N0dpNBwdHbyuMInGcNJkQWeK3Jg0,60885
|
18
18
|
wandb/wandb_agent.py,sha256=TaRXYz5quJa4aEStAkgbpmlpc2oeUuQkH75M9WdUsSo,21013
|
19
19
|
wandb/wandb_run.py,sha256=CNh9S6uubFk8FphQjzkbvedyyGCN9aBEsRBKjy8tqqs,155
|
20
|
-
wandb/data_types.py,sha256=
|
21
|
-
wandb/wandb_controller.py,sha256=
|
20
|
+
wandb/data_types.py,sha256=SyBzrPvzfmgl9te_kH9yiNnn20L3eJvfbVnG2wRyZ3k,73149
|
21
|
+
wandb/wandb_controller.py,sha256=lvMXXf436Uuzfy1WEC6iaHq1Ht0rNdUoLvc_kDPn1HQ,24768
|
22
22
|
wandb/fastai/__init__.py,sha256=g_yvlxAGwupME34yh49EKAAg6ZIk6tOB4ThEdazq6rY,192
|
23
23
|
wandb/xgboost/__init__.py,sha256=GRixyb89ki1Znfw48RRiRPxZnK41aEj1L48bBG6-Kh0,230
|
24
24
|
wandb/keras/__init__.py,sha256=f_j3sNjmcPoa9DqxLfHR3dwUV64_O2Plv_ryW4Z-IaQ,362
|
25
25
|
wandb/catboost/__init__.py,sha256=kgsxRzur9liL-CPOVubjNVJ_FEDiktbyA7gQQXxG1n0,226
|
26
|
-
wandb/bin/wandb-core,sha256=
|
26
|
+
wandb/bin/wandb-core,sha256=WUVMp2ltt8Poe_CC02tht8HACDNkqj6RM6kD2EzJD_k,11013752
|
27
27
|
wandb/sdk/wandb_require.py,sha256=HGSkS0IEBnPEn_33jo3an27qtdx2bCxeEwQ0iri9OJk,2858
|
28
28
|
wandb/sdk/wandb_manager.py,sha256=Xy4BvabbOmE9KZwhDpDX7bDL0GUBX72MSCxlnSWY8JI,6658
|
29
29
|
wandb/sdk/wandb_watch.py,sha256=dz0DIZvGXRvrE2aLNuiQQfUuFo9KDDCfSDWUncBu57U,3892
|
@@ -35,12 +35,12 @@ wandb/sdk/wandb_helper.py,sha256=IbJ7opO8UkfwCDekSjRYIrGBblUxnTPBfp1EdesfF4U,182
|
|
35
35
|
wandb/sdk/__init__.py,sha256=g8BQ6gQ_WDIH682ayRuKzD6QZXL8NW5CZKBLJOem5iU,805
|
36
36
|
wandb/sdk/wandb_sync.py,sha256=KhxDOHR7x8q54hAlsEx4ta1dAW1ZnzTUMr7VwJyCL5c,2273
|
37
37
|
wandb/sdk/wandb_config.py,sha256=ZFEJEk7YoXTIySzHRGOIyyhgvbMUqTnUFAIlu-ZzGUo,10804
|
38
|
-
wandb/sdk/wandb_setup.py,sha256=
|
38
|
+
wandb/sdk/wandb_setup.py,sha256=yerNWQV9IGrcFVyoGR0_HoYx1-j0cI0aRAqKm1-5LSg,11078
|
39
39
|
wandb/sdk/wandb_require_helpers.py,sha256=ZmKv5aXXHDTTU6nYHMLKW4_pt9X-PlaMtbRJl77kHX8,1331
|
40
40
|
wandb/sdk/wandb_alerts.py,sha256=SwBPBiXRxknMTMGbsVoMMWqWK65UWMcKAdTWZtdwAeo,193
|
41
41
|
wandb/sdk/wandb_metric.py,sha256=a3GiQXr6H18m81uobYjlJaC8CL8iANzI42qxkxfZsDs,3268
|
42
42
|
wandb/sdk/wandb_login.py,sha256=_lU4nDDJEdT5VYL0s5aevMGVerzQlGI9Ee-zNmcW_t4,10660
|
43
|
-
wandb/sdk/wandb_run.py,sha256=
|
43
|
+
wandb/sdk/wandb_run.py,sha256=Xr49clLL7sbSUxeeUWBApJjycZvMqC-4m9XpGdxS31Q,158617
|
44
44
|
wandb/sdk/artifacts/storage_policy.py,sha256=PRrZ2LdcSvbMx4IsHcwh5eQjiGpHw4pGzbbnAvV068g,2493
|
45
45
|
wandb/sdk/artifacts/storage_layout.py,sha256=No2cLJEuU3Dr8rJ5Pq-e-36S6p-WKoYcCG24DKAKzro,73
|
46
46
|
wandb/sdk/artifacts/artifact_download_logger.py,sha256=XEVxmktMInrd1p2z86CKt3QyTA9vscxJL5-8_eupknI,1501
|
@@ -81,9 +81,9 @@ wandb/sdk/service/service_base.py,sha256=S6et2dWmlHgHvXyHfAiMyU_7cfHwE8ZJp4JhqTp
|
|
81
81
|
wandb/sdk/service/server_sock.py,sha256=QIA-2_qdZKmcJSnbaw5ofxKllaW17NXalCUozV_ItmQ,9656
|
82
82
|
wandb/sdk/service/server.py,sha256=FOWWSk6xxknnATKdi9zkmG4N9rk6BCMpFit7hMV0qOw,4009
|
83
83
|
wandb/sdk/data_types/trace_tree.py,sha256=KoKIsRuLG7sxTpeor-g1F_CbmY1AXn3KWnitxkVcfCM,14694
|
84
|
-
wandb/sdk/data_types/video.py,sha256=
|
85
|
-
wandb/sdk/data_types/image.py,sha256=
|
86
|
-
wandb/sdk/data_types/_dtypes.py,sha256=
|
84
|
+
wandb/sdk/data_types/video.py,sha256=5pl7Y8Mm5wibUm8rSM85O5WNoTNkRIC-o389WB67a-c,8817
|
85
|
+
wandb/sdk/data_types/image.py,sha256=EXJeg9h1l0SrF6IQpHbgB88zSizYI2NP-OZQXPJXglk,25609
|
86
|
+
wandb/sdk/data_types/_dtypes.py,sha256=zLkEAVoFc7U0vb21t2-uxYFAylfpKohbsy_8_aDOmC8,29937
|
87
87
|
wandb/sdk/data_types/utils.py,sha256=qVfISB7ycwBleVo6vQpphomwwP-KaJKtoWuV-GGpkmU,6318
|
88
88
|
wandb/sdk/data_types/molecule.py,sha256=wZzxT_OKuM2CAZxc38o6COfrGgz9t8JCKuy0fd21A9w,8598
|
89
89
|
wandb/sdk/data_types/html.py,sha256=KHUmuUknVKs54RZ3IAlZ2_NgUP4MrQvEIAPM45BizyQ,3491
|
@@ -107,7 +107,7 @@ wandb/sdk/launch/_launch.py,sha256=v0cezR15RKgpDMJY0JAXRKd9h6tGkFqf8cKHIhe0yjw,1
|
|
107
107
|
wandb/sdk/launch/wandb_reference.py,sha256=t4REjZz5lwB9fjDW2eo8uRgw9KeLsPeZ1Uu8tiFDBfA,4253
|
108
108
|
wandb/sdk/launch/__init__.py,sha256=VFClnbYvX93eHr_-N6QwHqFkiSWP94fVqvgAyY6-mUo,210
|
109
109
|
wandb/sdk/launch/git_reference.py,sha256=6pTVlD7-BICWoraN8PsAzCKu64GV7g_GzqMSD9w3Sos,3758
|
110
|
-
wandb/sdk/launch/_project_spec.py,sha256=
|
110
|
+
wandb/sdk/launch/_project_spec.py,sha256=lTrCTcfSE7rthRF-sf0U-IsvCNAQnk6sj5ROkUApwjs,23105
|
111
111
|
wandb/sdk/launch/_launch_add.py,sha256=AYJuYkF4RyGMhiPF1LcVT0jJtBaokC_syoKXtwRqaIg,8832
|
112
112
|
wandb/sdk/launch/loader.py,sha256=rSXCgiR7dStpdd_FQTm3qqzY3aa5L2vMpF1M_0OsxEE,8927
|
113
113
|
wandb/sdk/launch/create_job.py,sha256=Oa1O4_bnm_w5-J3jMeCOcTE6LICnFVadmV8obFjzgK8,17184
|
@@ -116,16 +116,16 @@ wandb/sdk/launch/registry/abstract.py,sha256=eTiuMPEm0NnrTkU6M8UteZQfK50BN-n7tye
|
|
116
116
|
wandb/sdk/launch/registry/elastic_container_registry.py,sha256=vbDSOxzV0iTZ91Mm0qjOjWbwW6OvRlPXbIDi_qrWqGY,7276
|
117
117
|
wandb/sdk/launch/registry/anon.py,sha256=jft6cCObrI1mgydwX2rR9xYfdLDokHv8RqlZiMHBFCI,943
|
118
118
|
wandb/sdk/launch/registry/local_registry.py,sha256=oe2McRQoY5DG8-SD8voDcrHAT58jMu4nYdAniyqdI10,1781
|
119
|
-
wandb/sdk/launch/registry/google_artifact_registry.py,sha256=
|
119
|
+
wandb/sdk/launch/registry/google_artifact_registry.py,sha256=EEPCVqP1uBxkn8T3zUIdURw67Z2D5lX2FUlHpu_zE7k,8552
|
120
120
|
wandb/sdk/launch/environment/abstract.py,sha256=FpQSsLqJ_PpU5Jy25YpZnWTiN4_6cihmynZFI1isuE0,951
|
121
121
|
wandb/sdk/launch/environment/gcp_environment.py,sha256=0US6TKVKlvVl_Y_R17xm_j_MuJdiS-L31rkHZ4O4AIo,12734
|
122
122
|
wandb/sdk/launch/environment/azure_environment.py,sha256=2Yt-NVD-_eXR73-pp6CAneKvb9T30x6eQU-YtHO1Tko,3885
|
123
123
|
wandb/sdk/launch/environment/local_environment.py,sha256=mO35r8XgxRvqxhmmkBx3xIymz1M2lKYGtnltRB1c9mM,2258
|
124
124
|
wandb/sdk/launch/environment/aws_environment.py,sha256=hVyQ7yb0UK1Kb4x-RZ5exaOeJRTRgDZwwlLFQOUVJYw,11411
|
125
|
-
wandb/sdk/launch/sweeps/scheduler.py,sha256=
|
126
|
-
wandb/sdk/launch/sweeps/utils.py,sha256=
|
125
|
+
wandb/sdk/launch/sweeps/scheduler.py,sha256=tmHi97EpEY5cuTrmQezGnkCvV5-R3U3cKz3JOhkLqmE,26722
|
126
|
+
wandb/sdk/launch/sweeps/utils.py,sha256=fFonzoqVwchBeo4XtsVCQUmppaJbfnK2ZJYasf4CoYk,9825
|
127
127
|
wandb/sdk/launch/sweeps/__init__.py,sha256=qQ96Pq9fXRIs-w8y3jy_Z6fKz9DIJ8zrMjwEZLrDGB8,913
|
128
|
-
wandb/sdk/launch/sweeps/scheduler_sweep.py,sha256=
|
128
|
+
wandb/sdk/launch/sweeps/scheduler_sweep.py,sha256=NUMvKJYSdtrW5KGf0GsLBZWJL0vJbCzI4yGYHD8Z0z8,3000
|
129
129
|
wandb/sdk/launch/runner/local_container.py,sha256=DogQyPtp2kT7w47npDmEu92aDdIoeynnJzSCuzTEILw,10036
|
130
130
|
wandb/sdk/launch/runner/kubernetes_monitor.py,sha256=7D7sFKQHWla6MTdl8M9aXNmkPsALbRJYOE9fKsXNx9w,16676
|
131
131
|
wandb/sdk/launch/runner/abstract.py,sha256=oKgD2idOHLnZncHdjLaJwSOOfoOjYav8xQQ-0Sg6Zms,5859
|
@@ -134,20 +134,20 @@ wandb/sdk/launch/runner/kubernetes_runner.py,sha256=WQi6cT3pd8UaaPR3MR3yfxPxsqcO
|
|
134
134
|
wandb/sdk/launch/runner/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
135
135
|
wandb/sdk/launch/runner/local_process.py,sha256=EawHS0CcSQcJxJMdTFI_-TE_xRWvdDpt8gbwU1NU2ZE,3467
|
136
136
|
wandb/sdk/launch/runner/sagemaker_runner.py,sha256=KF3wzYcyJwnrojOP1gq7ztUybwF37M0PGG2h1Shs47g,15212
|
137
|
-
wandb/sdk/launch/builder/kaniko_builder.py,sha256=
|
138
|
-
wandb/sdk/launch/builder/build.py,sha256=
|
137
|
+
wandb/sdk/launch/builder/kaniko_builder.py,sha256=QbbL9Ajo4b-xhzcnKf2WTMo0lnRJp_U10ZK8fCQuJnM,23208
|
138
|
+
wandb/sdk/launch/builder/build.py,sha256=0Rw_327uMo2JKGgWWhCz2APrkDD_Czj_nz18hvfy6CA,25529
|
139
139
|
wandb/sdk/launch/builder/noop.py,sha256=A--UUfqkcZxCpTmBKbL6JvkE_emcJRXIkAhAfVv5u7k,1900
|
140
|
-
wandb/sdk/launch/builder/abstract.py,sha256=
|
140
|
+
wandb/sdk/launch/builder/abstract.py,sha256=aUGszHF2V9Q1AozKk-tuumoF__UfSyic90V3rGkIiZc,2643
|
141
141
|
wandb/sdk/launch/builder/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
142
142
|
wandb/sdk/launch/builder/docker_builder.py,sha256=m10WoZwL-mD5ZBUAj2edkdn8KSCmeRiSSpVngo7p5w4,6728
|
143
143
|
wandb/sdk/launch/builder/templates/_wandb_bootstrap.py,sha256=KbW2cmZm55NvOmcDL0A_lKIbeLe_FYKHJJYELKNYUKc,7226
|
144
144
|
wandb/sdk/launch/agent/run_queue_item_file_saver.py,sha256=Xn6cs_QOJKX3OGIwoTinJLmrPZ08aeoevyQRPHoaf6s,1514
|
145
145
|
wandb/sdk/launch/agent/__init__.py,sha256=nwGHzJptq87cXCSAJi7Wv2ShL-HZwDgMo2aFC2Rh20w,85
|
146
146
|
wandb/sdk/launch/agent/job_status_tracker.py,sha256=HaWU-VbXGe6m8VvM2y6riQ2Iwb2j62ugoJsR9wzUIpU,1813
|
147
|
-
wandb/sdk/launch/agent/agent.py,sha256=
|
147
|
+
wandb/sdk/launch/agent/agent.py,sha256=Z0lRYWYziHvrv3Db75XIIh9qMKqP0KKk_-V76iL71dE,34806
|
148
148
|
wandb/sdk/launch/agent/config.py,sha256=UejSBOSZXAjPv5CqT2EaJHW2gffHOsrFEXS_AAlNYKA,9616
|
149
149
|
wandb/sdk/interface/interface_relay.py,sha256=vQUrk5KESKInZsXpOxWF4YcWRZFLJjNz1mdNywbWbbE,1514
|
150
|
-
wandb/sdk/interface/interface.py,sha256=
|
150
|
+
wandb/sdk/interface/interface.py,sha256=xnj3WzCU5EXd-h-7KhL2dei2EhrFeIkGEAnSoPitN0M,33341
|
151
151
|
wandb/sdk/interface/message_future.py,sha256=5OMApIUKTXLHP98ph_jCdshuPZB_E0Uf3UGZpOQ8sik,685
|
152
152
|
wandb/sdk/interface/router_queue.py,sha256=7TImXbpuwgn3iUw6kcNyC_nZ3APaBrojZyz1xDWgehI,1196
|
153
153
|
wandb/sdk/interface/interface_queue.py,sha256=eCvNpvwMe1GHJv_5M8R3ZSspmEvE02mXMstBDBEZy8A,1967
|
@@ -182,9 +182,9 @@ wandb/sdk/lib/filenames.py,sha256=GvzWOq85BO_Od7f69PkRKS6zYhQ88dTCtMr3c19jLEk,20
|
|
182
182
|
wandb/sdk/lib/__init__.py,sha256=53BA5lIOtUXciXZcPpNsFbp-iUPzI5gQFxplTykNmOE,183
|
183
183
|
wandb/sdk/lib/telemetry.py,sha256=OdBUbhUAU1LPDJJmW5Rm6GkRDRPpeCk2SP61XUQYm2g,2752
|
184
184
|
wandb/sdk/lib/timed_input.py,sha256=D7vx3N3m4LlxwkQpzS7lDi7IOnccqZ3WfLlDYRs8Oes,3229
|
185
|
-
wandb/sdk/lib/redirect.py,sha256=
|
185
|
+
wandb/sdk/lib/redirect.py,sha256=PKnzdZPs6u_Qkv-s0qjEuA8wD7asjpKSG0WvyqMHIaI,26126
|
186
186
|
wandb/sdk/lib/hashutil.py,sha256=3T0DyZZPZ6VXrYrmLzusdoAtD1JsuXsx0_iNuyqim9M,1745
|
187
|
-
wandb/sdk/lib/tracelog.py,sha256=
|
187
|
+
wandb/sdk/lib/tracelog.py,sha256=oOB56Ya4Eo-T72JFRxL2JRzvUny7pKkFK2j8IQw-Mvw,7540
|
188
188
|
wandb/sdk/lib/gitlib.py,sha256=oNd1ARdrMJxRco7hgci53QHRBGfQcGSiRxn89x8IoTs,7829
|
189
189
|
wandb/sdk/lib/mailbox.py,sha256=A-YNGof7NwmttL_3M7RmVfkbciBEIEi8jKhcXN-sLhU,14248
|
190
190
|
wandb/sdk/lib/runid.py,sha256=Qa-5ft4B85YUazkV_18OYwf9JhMaAVp0JAInZzxzX5o,392
|
@@ -192,7 +192,7 @@ wandb/sdk/lib/disabled.py,sha256=-REmuFxa43C5k4pzhR8k7EshPUUHRdqsgL8qi0Jt2gA,357
|
|
192
192
|
wandb/sdk/lib/module.py,sha256=f-NFgDi87ai-3r-jN9T3cAZQ3fhivxi4RWhzc9GPb98,1830
|
193
193
|
wandb/sdk/lib/json_util.py,sha256=fAsYfaw8iMmx3KJ0wSthUSj_XpF1iAysad4XZY1kQdo,2584
|
194
194
|
wandb/sdk/lib/exit_hooks.py,sha256=_4oozaRQCJi8NJfZvHsA8livvFb0trZKLOGB8_UcHGk,1540
|
195
|
-
wandb/sdk/lib/import_hooks.py,sha256=
|
195
|
+
wandb/sdk/lib/import_hooks.py,sha256=0_TJwq-EuZFUIFzFOZoVDWOMP9-Af1r2Vq5sV5sfzg4,10271
|
196
196
|
wandb/sdk/lib/_settings_toposort_generate.py,sha256=FQZPNGKnUcApOHjT_SYFC5APLxniN2aJJ8UnvdS2dV4,4843
|
197
197
|
wandb/sdk/lib/deprecate.py,sha256=r8kT4UY2DSG7V5N78MG46kQOzycBp3_8lH49KnDXxXM,1462
|
198
198
|
wandb/sdk/lib/_settings_toposort_generated.py,sha256=lDAczxNDtb5n4eWBw2EN02S8QGvb6mkn5KYiFizI1UY,5161
|
@@ -220,7 +220,7 @@ wandb/sdk/internal/tb_watcher.py,sha256=95vhk4q0RT1V7QHQAyxy2hreJvpWYv3scTQ1oAh-
|
|
220
220
|
wandb/sdk/internal/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
221
221
|
wandb/sdk/internal/internal_util.py,sha256=RMBAsnVimA9UpC-qlT862nqxIXDAPm6KfonNmpvlRfc,2654
|
222
222
|
wandb/sdk/internal/file_stream.py,sha256=sCh69V7elln6vvKPirNZLkIhqsZkIg97dfKwKniASyM,26346
|
223
|
-
wandb/sdk/internal/job_builder.py,sha256=
|
223
|
+
wandb/sdk/internal/job_builder.py,sha256=JcDck5bGsGrYZR18p23JTKPWXqjQBpFSktRHA3nKadg,20874
|
224
224
|
wandb/sdk/internal/profiler.py,sha256=C8-mPrAhPS6_l-Fj_zCOwmXaEqhjI9Wd0EAPXS9GAEI,2348
|
225
225
|
wandb/sdk/internal/sender.py,sha256=r0NM8uXsE6bCDBWrp81QSx40NinMlg99WoyXXYo7Bz4,63202
|
226
226
|
wandb/sdk/internal/file_pusher.py,sha256=O92-lcy-BTICqmxBHwOR2h8fs4l3oyI2OpelTKWIEbg,6191
|
@@ -250,12 +250,12 @@ wandb/sdk/internal/system/assets/gpu_amd.py,sha256=bM5usw4qdKHQGQnqFFi-ObOfS3YZg
|
|
250
250
|
wandb/sdk/internal/system/assets/memory.py,sha256=RA_1o3PQ_bxgDhGK7f58aq_WDsdWpIIB8BbOufbi-Co,4290
|
251
251
|
wandb/sdk/integration_utils/auto_logging.py,sha256=evcVXab1KoC1THdHpCb5RhL14DJKs-fpH2jnBH_iBIg,8348
|
252
252
|
wandb/sdk/integration_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
253
|
-
wandb/sdk/integration_utils/data_logging.py,sha256=
|
253
|
+
wandb/sdk/integration_utils/data_logging.py,sha256=DDFtDaUu50aeTTgxCHHYd2f85guqqf2xfEOburRlwwQ,19533
|
254
254
|
wandb/analytics/sentry.py,sha256=Bdx6GLuruzabyaH7XAtSzyNhbeElKTP-3FQJdyO-qq8,8490
|
255
255
|
wandb/analytics/__init__.py,sha256=WG_Mh20Hr8d3vDmGMcfDXCMEIew3uzDYZAJwFsrbAug,50
|
256
256
|
wandb/docker/auth.py,sha256=I68SFCcbmZr18XqVxVCM75eTB7YhCebgb3dcsFiIYHQ,15032
|
257
257
|
wandb/docker/www_authenticate.py,sha256=eQd0ap8LpZkS9ImRn2gdgl7gnHeKprdqjClrZOaCsQo,2805
|
258
|
-
wandb/docker/__init__.py,sha256=
|
258
|
+
wandb/docker/__init__.py,sha256=fZA2eGMpGmD7VZ4osfEKCJmX06JDKpzoYTMnGwWpIXo,10546
|
259
259
|
wandb/docker/wandb-entrypoint.sh,sha256=P4eTMG7wYsgTfJIws_HT7QFlYBI70ZLnNlDGTZdmYVE,989
|
260
260
|
wandb/sync/sync.py,sha256=pgWD3O-zGnNtdRNSAGSN1e-QUBByhPpRyciU69XtWkk,15644
|
261
261
|
wandb/sync/__init__.py,sha256=BzzKmWKjsrCTBAj24d-lJOEPkFUmTfvaK2MeXplSwcc,93
|
@@ -278,7 +278,7 @@ wandb/apis/reports/v1/panels.py,sha256=Ejb7U_UjNGfI7VwzpGo7qJdhA5c1A5HuxnbbNi4_i
|
|
278
278
|
wandb/apis/reports/v1/util.py,sha256=P0pBQcY79OtB6MxTZXQQ1GXV_yuUXUxflrDGY-oIiPA,11941
|
279
279
|
wandb/apis/reports/v1/_helpers.py,sha256=VigZ400NIZYy19Cu-rNGJe7sDWvIOcK5X3JCUwBH2Ck,2127
|
280
280
|
wandb/apis/reports/v1/report.py,sha256=hW87I1HZNZ8qpR51llay4HOyF2TZad_CPa9hNoNKJvU,9354
|
281
|
-
wandb/apis/reports/v1/_blocks.py,sha256=
|
281
|
+
wandb/apis/reports/v1/_blocks.py,sha256=pxMbkd_YEi_k52N90J_suRzXU98Ez8eX2_Qnj0RylEM,53745
|
282
282
|
wandb/apis/reports/v2/internal.py,sha256=OUSdWsgvmsYH33ljxTaL6bBO-upSP-Z9j8-IJpKgY8w,26153
|
283
283
|
wandb/apis/reports/v2/interface.py,sha256=Cqvh4-A7Y9OAuys-nyruo7tN-7Fe8QrVT7EB_zsL2nI,57571
|
284
284
|
wandb/apis/reports/v2/metrics.py,sha256=CQu3LC_EDd3ofqb8HPcHyH4qzZQ_oRpSznR0ZEoNIrc,85
|
@@ -310,16 +310,16 @@ wandb/apis/public/files.py,sha256=vfPC73-zsxwV5AkytZaVTK4mt1atscl9FmJaYbTPwfw,55
|
|
310
310
|
wandb/apis/public/reports.py,sha256=_KHQYa7vIfGoxTI5Qk0JJTEzN6b1RqbcVopCVEHph3Y,15571
|
311
311
|
wandb/agents/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
312
312
|
wandb/agents/pyagent.py,sha256=sf6TDxJk0Q6HUZc87BIyqP779Ttv58LhdH3kyCpF6t8,13442
|
313
|
-
wandb/old/summary.py,sha256=
|
313
|
+
wandb/old/summary.py,sha256=1ojvsoAOZF4UpSMSPpcLc2RNlg3QJfEZbe2w-xnfK1g,13815
|
314
314
|
wandb/old/core.py,sha256=MJjnAcUObCVXgLQEOW_iS7RREBiTB-YZtf9VHMYV2N4,3758
|
315
315
|
wandb/old/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
316
316
|
wandb/old/settings.py,sha256=IrS10skC9gCTb8NgTWeRFgsTYL1bw36e-rG_xECk-yo,6374
|
317
317
|
wandb/sklearn/utils.py,sha256=dfHxglqT6UlPl8ulgZNWrElfW04cdBWrFfEtDp3pvZw,5903
|
318
318
|
wandb/sklearn/__init__.py,sha256=bDnzytR60EFQblaAZdw76WlJBmfG-O7NrKavIEY97Ck,861
|
319
319
|
wandb/sklearn/plot/shared.py,sha256=1AFangiXD7q_313IznXt6dnx7tp-d-n6nx51TA7R1l8,2733
|
320
|
-
wandb/sklearn/plot/clusterer.py,sha256=
|
320
|
+
wandb/sklearn/plot/clusterer.py,sha256=o5oPW-7pxLEiUz0qUQwXw82M9Dtj8TzoMJVRWOWCpRE,4849
|
321
321
|
wandb/sklearn/plot/__init__.py,sha256=7RgC3Dakive4tLSmYOBTiNWtFZz-9AJG3AWtW00xcJs,1368
|
322
|
-
wandb/sklearn/plot/classifier.py,sha256=
|
322
|
+
wandb/sklearn/plot/classifier.py,sha256=gGDWyJ27YmwKprhzhHAHcHJZePjpmwykmM3dl9Mj1sk,11795
|
323
323
|
wandb/sklearn/plot/regressor.py,sha256=04-bp4luoebhm3cVg1w0CfRMMZVSFr5Nob5384QXrKU,3906
|
324
324
|
wandb/sklearn/calculate/decision_boundaries.py,sha256=jHpx3WN6_Dbv3C4mUrRegZYmi5NnT-8SJGKkXpNG4Qo,1087
|
325
325
|
wandb/sklearn/calculate/residuals.py,sha256=zoEQ9Q_YjG0b5Nm-1SbdD5x_B_oGu37GhvW4VdztskU,2345
|
@@ -333,14 +333,14 @@ wandb/sklearn/calculate/elbow_curve.py,sha256=eZ3aBuSUw0FlfseF5xwYwXCo74Fmrs4PTt
|
|
333
333
|
wandb/sklearn/calculate/class_proportions.py,sha256=1UtzZH3IuDX8-JWOZHyLiRr_HMM3ghYd-JptBFT3NWQ,2107
|
334
334
|
wandb/sklearn/calculate/summary_metrics.py,sha256=ya29usT864Dgbzm_7fyxJu61kR-OkZ4H6j2VIZBFPHU,1984
|
335
335
|
wandb/sklearn/calculate/calibration_curves.py,sha256=K1yiV0Wplgfb9JY6ALG8_cRsb22mJ7uB2w0qiDfD41c,3784
|
336
|
-
wandb/plots/precision_recall.py,sha256=
|
336
|
+
wandb/plots/precision_recall.py,sha256=NoXy8XMbSKthnLMHrDXZPQuFd4XA-nlh0kGvs9NJZX4,4667
|
337
337
|
wandb/plots/utils.py,sha256=XpOrIydyDk69nnUlcGxMMtV8VUO7Zq8ECNzUyQ5IRY0,7185
|
338
338
|
wandb/plots/explain_text.py,sha256=9XPPmhuRL382ni3Id14yugIjGzbi-P5t3eh3Ri-E3mo,1254
|
339
339
|
wandb/plots/__init__.py,sha256=jrxt1IM4KAqoFJAtroRU014TXToZ3sAsxHYilge9uI0,331
|
340
340
|
wandb/plots/plot_definitions.py,sha256=G2Q6I7yKhCxRSzJd_nZnDTuuJgKyfRWN3MXNlwAepXw,19402
|
341
341
|
wandb/plots/part_of_speech.py,sha256=Mnvj3vRleFzVPcW4F0z6XQIUj6WLirhiVbB9Oq0mjDY,1416
|
342
342
|
wandb/plots/heatmap.py,sha256=Rg04vq1uOyl8FwjHtyLCYPgQPLveDXMSGJkdmDHnOy4,2755
|
343
|
-
wandb/plots/roc.py,sha256=
|
343
|
+
wandb/plots/roc.py,sha256=w8lzm9Itopker1zd28PlXia_q5iMxm-ErKKZ6u6DR7I,3434
|
344
344
|
wandb/plots/named_entity.py,sha256=jP4S1ZfBjrftvRG36EzP52i2zo48o6d3FOEokc7bPZA,1189
|
345
345
|
wandb/plot/roc_curve.py,sha256=uG7CzmURQmQdm0AbSVzJxtaujJ8IGaoNl5v-K8aXf-0,3913
|
346
346
|
wandb/plot/line_series.py,sha256=Kow9Ah14xJZrZQc2TX5BNxqs7MqQhX0bvs9UWFI6am4,2965
|
@@ -350,7 +350,7 @@ wandb/plot/bar.py,sha256=Phb93zGocUhkQNpbAwUUWXBbfJNCAEgIcrTI2jvIGbc,1168
|
|
350
350
|
wandb/plot/__init__.py,sha256=jXbVV7QdFRwcSbaWEr_J6XHd3YksHaPrn4wHBQcEO0Y,480
|
351
351
|
wandb/plot/histogram.py,sha256=7IbTvUEv7Nn-UVhZjleTRzVo8lC3Jy8D4hpoqtBEBqg,1007
|
352
352
|
wandb/plot/line.py,sha256=e47qeJ0jpOMqc5NZmvD2qXl2Ep_HpxXne-B3aQh7cIw,1174
|
353
|
-
wandb/plot/confusion_matrix.py,sha256=
|
353
|
+
wandb/plot/confusion_matrix.py,sha256=OXwBpd_4WQzUrWlDqHL3aQOsqsE7Eex_10-MG9egvGM,3414
|
354
354
|
wandb/integration/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
355
355
|
wandb/integration/magic.py,sha256=8b7GkkntZb-jJ7L0OF4M7mS1yJKtMI_o3jfsTufWMr4,17246
|
356
356
|
wandb/integration/fastai/__init__.py,sha256=poVKoo5eBJn98rhO6nC6-iExeQwYH1RI49rRz9nDFWk,9478
|
@@ -360,9 +360,9 @@ wandb/integration/kfp/helpers.py,sha256=yEVO9rrz27hc4nk3WwNL3v1aRAUlS-OlXMC8Rj0G
|
|
360
360
|
wandb/integration/kfp/__init__.py,sha256=WhBhg3mQopGNDbWzGJ8Xyld8w3FAAvmP1G1Wtv_QaC0,136
|
361
361
|
wandb/integration/kfp/wandb_logging.py,sha256=phHOPDkVspa3vy0AOrU2Dc6SHFu0-XiEXouuyNEyuF8,6163
|
362
362
|
wandb/integration/kfp/kfp_patch.py,sha256=LtfhPzLGewQ1MT-Hbcd--C_mgnLMwu5dlchVgB41pcc,13091
|
363
|
-
wandb/integration/keras/keras.py,sha256=
|
363
|
+
wandb/integration/keras/keras.py,sha256=OhIfD5r6wQFsN_Vvuk8pcwClTMHkVXFEktwtOHPuC3o,43707
|
364
364
|
wandb/integration/keras/__init__.py,sha256=3srXSrJ6rixzVJaN85em4X00sRfeNN_HPjz22lKzj5A,425
|
365
|
-
wandb/integration/keras/callbacks/metrics_logger.py,sha256=
|
365
|
+
wandb/integration/keras/callbacks/metrics_logger.py,sha256=1wgLGtWpIRnwE_RSjA5p1ZoJup9v62ExGc8x5olLhoM,4853
|
366
366
|
wandb/integration/keras/callbacks/__init__.py,sha256=sY5AMC3x28iA815fqbqkkArtjctqG-m9N2D5FnyR0no,223
|
367
367
|
wandb/integration/keras/callbacks/model_checkpoint.py,sha256=LP9fUypcPhC7X95PVGImccDPAI6yAasI357syWOqrBo,8947
|
368
368
|
wandb/integration/keras/callbacks/tables_builder.py,sha256=kmqwNGVbDaHo6pNfltUK5BED0g1oIwmtJOCGZZk-FAg,8840
|
@@ -414,7 +414,7 @@ wandb/integration/sagemaker/config.py,sha256=FBYl792apWvUTQzutlAqBrzu5d1-1-1NBv0
|
|
414
414
|
wandb/integration/tensorflow/estimator_hook.py,sha256=fi-UtjNZxUnDkzfbNP09iH074z5x0ItZiB4dkvwMGNI,1756
|
415
415
|
wandb/integration/tensorflow/__init__.py,sha256=8y7Acc7EAxKF-4vGXuZH6tsXeNNzqXisE2blNz9RNQk,125
|
416
416
|
wandb/integration/huggingface/__init__.py,sha256=Ui-JiM_yel2YZuS9U_LyReL3mhBZZSIUNLBODjS4l4Q,57
|
417
|
-
wandb/integration/huggingface/resolver.py,sha256=
|
417
|
+
wandb/integration/huggingface/resolver.py,sha256=Atc0vwdPar5yKzTcJF6Fu2i7h7a6TX0W9B2HdeToqrI,7858
|
418
418
|
wandb/integration/huggingface/huggingface.py,sha256=KYP0dCYERORLNE1Sk6jfp0krHF2BQ4q4qOlF-0H-vrI,443
|
419
419
|
wandb/integration/lightgbm/__init__.py,sha256=kCW5E0FjwcDLnWWyxHEIPGj4KRq9EYDqk6-2i7k3WcU,7979
|
420
420
|
wandb/sacred/__init__.py,sha256=2sCLXqvkwjEqOvPFdtAtmo80PY4hky7rj4owO5PoJWQ,80
|
File without changes
|
File without changes
|
File without changes
|