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.
Files changed (41) hide show
  1. wandb/__init__.py +1 -1
  2. wandb/apis/reports/v1/_blocks.py +1 -1
  3. wandb/bin/wandb-core +0 -0
  4. wandb/data_types.py +6 -3
  5. wandb/docker/__init__.py +1 -1
  6. wandb/env.py +3 -3
  7. wandb/integration/huggingface/resolver.py +2 -2
  8. wandb/integration/keras/callbacks/metrics_logger.py +1 -1
  9. wandb/integration/keras/keras.py +1 -1
  10. wandb/old/summary.py +1 -1
  11. wandb/plot/confusion_matrix.py +1 -1
  12. wandb/plots/precision_recall.py +1 -1
  13. wandb/plots/roc.py +1 -1
  14. wandb/sdk/data_types/_dtypes.py +8 -8
  15. wandb/sdk/data_types/image.py +1 -1
  16. wandb/sdk/data_types/video.py +1 -1
  17. wandb/sdk/integration_utils/data_logging.py +5 -5
  18. wandb/sdk/interface/interface.py +1 -1
  19. wandb/sdk/internal/job_builder.py +1 -1
  20. wandb/sdk/launch/_project_spec.py +3 -1
  21. wandb/sdk/launch/agent/agent.py +1 -1
  22. wandb/sdk/launch/builder/abstract.py +1 -1
  23. wandb/sdk/launch/builder/build.py +1 -1
  24. wandb/sdk/launch/builder/kaniko_builder.py +2 -2
  25. wandb/sdk/launch/registry/google_artifact_registry.py +1 -1
  26. wandb/sdk/launch/sweeps/scheduler.py +3 -3
  27. wandb/sdk/launch/sweeps/scheduler_sweep.py +1 -1
  28. wandb/sdk/launch/sweeps/utils.py +2 -2
  29. wandb/sdk/lib/import_hooks.py +1 -1
  30. wandb/sdk/lib/redirect.py +19 -14
  31. wandb/sdk/lib/tracelog.py +1 -1
  32. wandb/sdk/wandb_run.py +11 -8
  33. wandb/sdk/wandb_setup.py +1 -1
  34. wandb/sklearn/plot/classifier.py +6 -6
  35. wandb/sklearn/plot/clusterer.py +1 -1
  36. wandb/wandb_controller.py +2 -2
  37. {wandb-0.17.0rc1.dist-info → wandb-0.17.0rc2.dist-info}/METADATA +2 -2
  38. {wandb-0.17.0rc1.dist-info → wandb-0.17.0rc2.dist-info}/RECORD +41 -41
  39. {wandb-0.17.0rc1.dist-info → wandb-0.17.0rc2.dist-info}/WHEEL +0 -0
  40. {wandb-0.17.0rc1.dist-info → wandb-0.17.0rc2.dist-info}/entry_points.txt +0 -0
  41. {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.0rc1"
14
+ __version__ = "0.17.0rc2"
15
15
 
16
16
 
17
17
  # Used with pypi checks and other messages related to pip
@@ -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 verions for now..."""
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 availble for legacy reasons and should not be used.
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. This can be one of the normal python classes, an internal W&B type, or an example objec, like an instance of wandb.Image or wandb.Classes.
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 homogenous data
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
- """Retreve the image id from the local docker daemon or remote registry."""
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 appdirs # type: ignore
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 = appdirs.user_data_dir("wandb")
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, appdirs.user_cache_dir("wandb")))
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 explicity in our codebase so we make a very general assumption about
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 correcly log the
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.
@@ -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 durring prediction logging for epoch: " + str(e))
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 nonexistant path wouldn't be
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
@@ -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 probabilties or predictions but not both to confusion matrix"
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()
@@ -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 varible (y). Makes plots easier to
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 varible (y). Makes plots easier to
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'.
@@ -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
- ConvertableToType = t.Union["Type", t.Type["Type"], type, t.Any]
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: ConvertableToType) -> "Type":
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[ConvertableToType]] = None,
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: ConvertableToType) -> UnionType: # noqa: N802
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 homogenous types."""
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[ConvertableToType] = None,
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 homogenous types."""
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, ConvertableToType]] = None,
789
+ type_map: t.Optional[t.Dict[str, ConvertibleToType]] = None,
790
790
  ):
791
791
  if type_map is None:
792
792
  type_map = {}
@@ -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 metdata passed in. If this pattern is compelling, we can generalize.
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):
@@ -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 descripter returned from `imageio.save`. The following
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 lables to use in the inferred
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="Infering processors require numpy",
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="Infering processors require numpy",
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 composit processor for the validation data."""
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 composit processor for the prediction output data."""
434
+ """Infers the composite processor for the prediction output data."""
435
435
  single_processors = {}
436
436
 
437
437
  if isinstance(example_prediction, dict):
@@ -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.sourc as str."""
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 programatic name."""
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("Unknown source type when determing image source string")
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.
@@ -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
- "Recieved runSpec in _is_scheduler_job that was empty"
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 intialized or verified.
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 approriate cloud helpers for 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 kuberentes_runner.py
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 begining of the image tag.
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 existance of valid executable for a run.
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 existance? Use registry in launch config?
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 unknwon state
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 recieve sweep command from backend."""
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():
@@ -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 ommited (e.g. --foo)
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 seperate return value.
260
+ and then return the args in separate return value.
261
261
  """
262
262
  if not command:
263
263
  return None, None
@@ -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 attribue as described in the GitHub
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 cursor_postion(self, line, column):
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.cursor_postion(*p)
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, background and
404
- # other attributes (italics, bold, underline, etc) of the ith character are different from those of the
405
- # (i-1)th character. If different, the appropriate ascii character for switching the color/attribute
406
- # should be appended to the output string before appending the actual character. This loop and subsequent
407
- # checks can be expensive, especially because 99% of terminal output use default colors and formatting. Even
408
- # in outputs that do contain colors and styles, its unlikely that they will change on a per character basis.
409
-
410
- # So instead we create a character list without any ascii codes (`out`), and a list of all the foregrounds
411
- # in the line (`fgs`) on which we call np.diff() and np.where() to find the indices where the foreground change,
412
- # and insert the ascii characters in the output list (`out`) on those indices. All of this is the done ony if
413
- # there are more than 1 foreground color in the line in the first place (`if len(set(fgs)) > 1 else None`).
414
- # Same logic is repeated for background colors and other attributes.
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 mesage
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 direcotry
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
- glob_path = pathlib.Path(glob_str)
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 = glob_path.resolve().parent.parent
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
- resolved_glob_path = glob_path.resolve()
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.Path,
1947
- base_path: pathlib.Path,
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 acess to the run instance
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
@@ -1,7 +1,7 @@
1
1
  #
2
2
  """Setup wandb session.
3
3
 
4
- This module configures a wandb session which can extend to mutiple wandb runs.
4
+ This module configures a wandb session which can extend to multiple wandb runs.
5
5
 
6
6
  Functions:
7
7
  setup(): Configure wandb session.
@@ -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 propotions, calibration curve, roc curve, precision-recall curve.
36
+ class proportions, calibration curve, roc curve, precision-recall curve.
37
37
 
38
- Should only be called with a fitted classifer (otherwise an error is thrown).
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 varible (y). Makes plots easier to
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 classifer (otherwise an error is thrown).
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 classses in training and test sets.
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 classifer (otherwise an error is thrown).
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
 
@@ -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 varible (y). Makes plots easier to
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 progamatic sweep configuration
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 constuctor
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.0rc1
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.0rc1.dist-info/RECORD,,
3
- wandb-0.17.0rc1.dist-info/WHEEL,sha256=RA_GL1JAviWknYUZbhn8YJbjFypySnNDEglzaMNvfkI,143
4
- wandb-0.17.0rc1.dist-info/entry_points.txt,sha256=v4FCOZ9gW7Pc6KLsmgQqpCiKTrA1wh2XHmNf-NUP1-I,67
5
- wandb-0.17.0rc1.dist-info/METADATA,sha256=Wh-n1QlMkK-DnohpdFEfqooAYQTr486UKk1ClfHDdkQ,10114
6
- wandb-0.17.0rc1.dist-info/licenses/LICENSE,sha256=izOKRJpGOx1PrJiGOKR0HsNdlB5JdH2d0Z4P7a7ssTc,1081
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=9ZuDTaZi66ULQ0pVlpu8O3PrTP9SW1FweTk9d2m3YWk,12811
14
- wandb/__init__.py,sha256=1856gRxAE29lgWxLepjjXw_IYLOWVQea7msQqZCWFXc,7080
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=IsH78zOgqs0d3zIE2AHxaZ2XcxEKwfS40EgzN6DXaoE,73129
21
- wandb/wandb_controller.py,sha256=mpmZc0MkVElrEaWIMS2-sML5YkyEsVSqoRqJ-tU9HjM,24765
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=MiGuJ5mAo8abGzkpV69awxtrVuVfTKOhLo3MZxuMvT0,11013752
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=IRXIXGXZEzt8zeBaWSGgKvpQ3i7evCiKuy-fS9ew-iA,11077
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=AzLujOqTfkcGG8dx-5gRpIEaRbb9QUBFROUpRfHjV04,158329
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=mzFQTkuyBsUer5cuMYpld7_lf2iwn0RHv8gj-Syg1yU,8817
85
- wandb/sdk/data_types/image.py,sha256=5ENCN0czWMXwBRfdUJFEoVaQ3Vjr49443i7glnTD3ok,25608
86
- wandb/sdk/data_types/_dtypes.py,sha256=sjOC_8RMhqGb_r5p2EtZnpCoXIKvobDggFejVYutGmM,29935
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=DLkpSHOvf8zXj7XEcon7VX5PbLGo3ojdjvvpE2TLZ9o,23073
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=0WdzKeomEX3qtC4Yg3hHBRssZEX532xe9-v8621Uj0c,8522
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=jiUJKJcROT4TlycV_DeZgGmkc28Z4XLJWqLTUFyvifo,26722
126
- wandb/sdk/launch/sweeps/utils.py,sha256=mR6mSIFCybuvhxIQiHud38KU8FBcvl3PVfrIgMGjkG8,9825
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=4B0vGQQG6tz5MPyeU7Dlc3qHKMVM_fmv2TgTrMAO2kU,3000
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=UGjY8Txh4Oz8CX_R5mHcR9ov_8RTifaaN6pFiCWDsxk,23207
138
- wandb/sdk/launch/builder/build.py,sha256=cUSnMNOfoOk5-Q-Oj7CzsxXOJuhcvrZmv5MiJC82JcA,25528
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=WB_OHvbwDKEyWANWbsjAA2gaNlm9AFtA_79B60m3W2c,2642
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=aIWwBaEXaWBRCv3BhG4Ku79zE4V79ijMRZVrJtzS2h8,34806
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=2uDE5UYbZ1Xn_GBUxGW1sp6OY_7aFhHTMxxcRCIL_QE,33340
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=BthQVySsQHpayzA_grFzlK5GXGa5NLclO7Vi9-pEh1Y,26073
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=CveNVsvkxB_O4cSHhADysoHJs5C_nFJ4OO3hMgMzvhY,7539
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=SUFX3QSYvQKGouyV2VY_RcHWRL08Zz_gW4U2WxLkXh4,10270
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=QErNiEZVnbj8hjoJycKjzRdFb0XJgYnZd_1vANDrIcY,20873
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=XFLtx6rkX3LsUJiDZ8yn83hKvEkNZqiTEe-pL0oQ_EE,19529
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=Mn-3a98-b6y1gfBeFTzd_LYeAQUUM-1059MNET3z3Jg,10545
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=8Kwe_0JJmAxXBBnHuK__5nC2wHQUSE08uVw_G4bcZcM,53744
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=VZ204tsDOqAqpLXmjdXjuusQmhn9pUmNLOZj9vQYqUE,13815
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=1NuQ-jNHnrFBahKuTrvEGe-g-B_66nKURih1sQ_jKII,4848
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=gePABHmRJaVPeeuh4rCigukV-MU1FsM_eGLZhEg6EnU,11791
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=AkOSaLuxg9C_qKDu-2vZu48mqJzUWmTio_TiGhH82w0,4666
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=Vo5IooGIqWezzXy7x1RiKhneJzW7szjUk5Dpo-HRhec,3433
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=TH9vGYgeUZc6npEXMv6ojAhz8NRfz07KLnpfcGkgEzw,3413
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=cV8ckLB-mWQP6pANr2PSCk9YKCeyK2t0JGeQHhX2MmE,43708
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=LZeuggccnJGoN1EBJck-p_OscfgQSKpajruSQRoBons,4852
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=EYkvpN_FL4B2W_iqlDMug_Y6MCG8e2XfHmvuCMBgV3Q,7857
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