wandb 0.20.2rc20250616__py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl → 0.23.0rc1__py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package_readme.md +57 -38
- wandb/__init__.py +19 -52
- wandb/__init__.pyi +462 -483
- wandb/_analytics.py +65 -0
- wandb/_iterutils.py +10 -2
- wandb/_pydantic/__init__.py +20 -13
- wandb/_pydantic/base.py +102 -79
- wandb/_pydantic/field_types.py +34 -0
- wandb/_pydantic/pagination.py +47 -0
- wandb/_pydantic/utils.py +4 -2
- wandb/_pydantic/v1_compat.py +66 -47
- wandb/_strutils.py +57 -0
- wandb/agents/pyagent.py +41 -12
- wandb/analytics/__init__.py +2 -2
- wandb/analytics/sentry.py +159 -116
- wandb/apis/__init__.py +5 -3
- wandb/apis/attrs.py +2 -0
- wandb/apis/importers/internals/internal.py +16 -23
- wandb/apis/importers/mlflow.py +1 -1
- wandb/apis/internal.py +5 -4
- wandb/apis/normalize.py +4 -1
- wandb/apis/paginator.py +17 -4
- wandb/apis/public/__init__.py +46 -3
- wandb/apis/public/api.py +913 -563
- wandb/apis/public/artifacts.py +629 -345
- wandb/apis/public/automations.py +21 -4
- wandb/apis/public/const.py +2 -0
- wandb/apis/public/files.py +234 -70
- wandb/apis/public/history.py +69 -15
- wandb/apis/public/integrations.py +25 -2
- wandb/apis/public/jobs.py +110 -20
- wandb/apis/public/projects.py +165 -70
- wandb/apis/public/query_generator.py +14 -1
- wandb/apis/public/registries/__init__.py +7 -0
- wandb/apis/public/registries/_freezable_list.py +18 -20
- wandb/apis/public/registries/_members.py +110 -0
- wandb/apis/public/registries/_utils.py +53 -65
- wandb/apis/public/registries/registries_search.py +204 -316
- wandb/apis/public/registries/registry.py +486 -182
- wandb/apis/public/reports.py +155 -16
- wandb/apis/public/runs.py +585 -155
- wandb/apis/public/sweeps.py +225 -24
- wandb/apis/public/teams.py +51 -5
- wandb/apis/public/users.py +51 -5
- wandb/apis/public/utils.py +57 -32
- wandb/automations/__init__.py +10 -10
- wandb/automations/_filters/expressions.py +3 -2
- wandb/automations/_filters/operators.py +6 -3
- wandb/automations/_filters/run_metrics.py +38 -35
- wandb/automations/_generated/__init__.py +54 -127
- wandb/automations/_generated/create_automation.py +2 -2
- wandb/automations/_generated/create_generic_webhook_integration.py +7 -12
- wandb/automations/_generated/delete_automation.py +3 -5
- wandb/automations/_generated/enums.py +13 -11
- wandb/automations/_generated/fragments.py +128 -225
- wandb/automations/_generated/generic_webhook_integrations_by_entity.py +3 -3
- wandb/automations/_generated/get_automations.py +3 -3
- wandb/automations/_generated/get_automations_by_entity.py +3 -3
- wandb/automations/_generated/input_types.py +9 -9
- wandb/automations/_generated/integrations_by_entity.py +3 -3
- wandb/automations/_generated/operations.py +6 -6
- wandb/automations/_generated/slack_integrations_by_entity.py +3 -3
- wandb/automations/_generated/update_automation.py +2 -2
- wandb/automations/_utils.py +10 -12
- wandb/automations/_validators.py +22 -2
- wandb/automations/actions.py +8 -8
- wandb/automations/automations.py +6 -7
- wandb/automations/events.py +22 -26
- wandb/automations/integrations.py +2 -2
- wandb/automations/scopes.py +1 -1
- wandb/beta/workflows.py +66 -30
- wandb/bin/gpu_stats +0 -0
- wandb/bin/wandb-core +0 -0
- wandb/cli/beta.py +73 -135
- wandb/cli/beta_leet.py +75 -0
- wandb/cli/beta_sync.py +224 -0
- wandb/cli/cli.py +184 -28
- wandb/env.py +8 -0
- wandb/errors/errors.py +7 -4
- wandb/errors/term.py +130 -16
- wandb/filesync/upload_job.py +3 -2
- wandb/integration/catboost/catboost.py +6 -2
- wandb/integration/dspy/__init__.py +5 -0
- wandb/integration/dspy/dspy.py +422 -0
- wandb/integration/keras/keras.py +11 -11
- wandb/integration/kfp/kfp_patch.py +3 -1
- wandb/integration/langchain/wandb_tracer.py +5 -5
- wandb/integration/lightning/fabric/logger.py +3 -4
- wandb/integration/metaflow/__init__.py +6 -0
- wandb/integration/metaflow/data_pandas.py +74 -0
- wandb/integration/metaflow/data_pytorch.py +75 -0
- wandb/integration/metaflow/data_sklearn.py +76 -0
- wandb/integration/metaflow/errors.py +13 -0
- wandb/integration/metaflow/metaflow.py +167 -223
- wandb/integration/openai/fine_tuning.py +1 -2
- wandb/integration/sb3/sb3.py +3 -3
- wandb/integration/ultralytics/callback.py +6 -2
- wandb/integration/weave/__init__.py +6 -0
- wandb/integration/weave/interface.py +49 -0
- wandb/integration/weave/weave.py +118 -0
- wandb/jupyter.py +26 -71
- wandb/old/settings.py +14 -9
- wandb/plot/__init__.py +2 -0
- wandb/plot/bar.py +30 -29
- wandb/plot/confusion_matrix.py +75 -71
- wandb/plot/custom_chart.py +30 -7
- wandb/plot/histogram.py +26 -25
- wandb/plot/line.py +33 -32
- wandb/plot/line_series.py +100 -103
- wandb/plot/pr_curve.py +33 -32
- wandb/plot/roc_curve.py +38 -38
- wandb/plot/scatter.py +27 -27
- wandb/proto/v3/wandb_api_pb2.py +86 -0
- wandb/proto/v3/wandb_internal_pb2.py +378 -385
- wandb/proto/v3/wandb_server_pb2.py +39 -57
- wandb/proto/v3/wandb_settings_pb2.py +2 -2
- wandb/proto/v3/wandb_sync_pb2.py +113 -0
- wandb/proto/v3/wandb_telemetry_pb2.py +12 -12
- wandb/proto/v4/wandb_api_pb2.py +37 -0
- wandb/proto/v4/wandb_internal_pb2.py +354 -356
- wandb/proto/v4/wandb_server_pb2.py +39 -41
- wandb/proto/v4/wandb_settings_pb2.py +2 -2
- wandb/proto/v4/wandb_sync_pb2.py +46 -0
- wandb/proto/v4/wandb_telemetry_pb2.py +12 -12
- wandb/proto/v5/wandb_api_pb2.py +38 -0
- wandb/proto/v5/wandb_internal_pb2.py +354 -356
- wandb/proto/v5/wandb_server_pb2.py +39 -41
- wandb/proto/v5/wandb_settings_pb2.py +2 -2
- wandb/proto/v5/wandb_sync_pb2.py +47 -0
- wandb/proto/v5/wandb_telemetry_pb2.py +12 -12
- wandb/proto/v6/wandb_api_pb2.py +48 -0
- wandb/proto/v6/wandb_base_pb2.py +3 -3
- wandb/proto/v6/wandb_internal_pb2.py +357 -359
- wandb/proto/v6/wandb_server_pb2.py +42 -44
- wandb/proto/v6/wandb_settings_pb2.py +5 -5
- wandb/proto/v6/wandb_sync_pb2.py +57 -0
- wandb/proto/v6/wandb_telemetry_pb2.py +15 -15
- wandb/proto/wandb_api_pb2.py +18 -0
- wandb/proto/wandb_generate_proto.py +2 -0
- wandb/proto/wandb_sync_pb2.py +12 -0
- wandb/sdk/__init__.py +0 -1
- wandb/sdk/artifacts/_factories.py +14 -0
- wandb/sdk/artifacts/_generated/__init__.py +259 -242
- wandb/sdk/artifacts/_generated/add_aliases.py +4 -6
- wandb/sdk/artifacts/_generated/add_artifact_collection_tags.py +26 -0
- wandb/sdk/artifacts/_generated/artifact_by_id.py +17 -0
- wandb/sdk/artifacts/_generated/artifact_by_name.py +22 -0
- wandb/sdk/artifacts/_generated/artifact_collection_membership_file_urls.py +63 -0
- wandb/sdk/artifacts/_generated/artifact_collection_membership_files.py +29 -8
- wandb/sdk/artifacts/_generated/artifact_created_by.py +34 -0
- wandb/sdk/artifacts/_generated/artifact_file_urls.py +35 -0
- wandb/sdk/artifacts/_generated/artifact_membership_by_name.py +26 -0
- wandb/sdk/artifacts/_generated/artifact_type.py +31 -0
- wandb/sdk/artifacts/_generated/artifact_used_by.py +34 -0
- wandb/sdk/artifacts/_generated/artifact_version_files.py +20 -8
- wandb/sdk/artifacts/_generated/create_registry_members.py +19 -0
- wandb/sdk/artifacts/_generated/delete_aliases.py +4 -6
- wandb/sdk/artifacts/_generated/delete_artifact.py +24 -0
- wandb/sdk/artifacts/_generated/delete_artifact_collection_tags.py +23 -0
- wandb/sdk/artifacts/_generated/delete_artifact_portfolio.py +6 -5
- wandb/sdk/artifacts/_generated/delete_artifact_sequence.py +6 -5
- wandb/sdk/artifacts/_generated/delete_registry.py +21 -0
- wandb/sdk/artifacts/_generated/delete_registry_members.py +19 -0
- wandb/sdk/artifacts/_generated/enums.py +5 -0
- wandb/sdk/artifacts/_generated/fetch_artifact_manifest.py +26 -0
- wandb/sdk/artifacts/_generated/fetch_linked_artifacts.py +13 -35
- wandb/sdk/artifacts/_generated/fetch_org_info_from_entity.py +28 -0
- wandb/sdk/artifacts/_generated/fetch_registries.py +42 -0
- wandb/sdk/{projects → artifacts}/_generated/fetch_registry.py +4 -4
- wandb/sdk/artifacts/_generated/fragments.py +299 -119
- wandb/sdk/artifacts/_generated/input_types.py +176 -6
- wandb/sdk/artifacts/_generated/link_artifact.py +27 -0
- wandb/sdk/artifacts/_generated/operations.py +1553 -287
- wandb/sdk/artifacts/_generated/project_artifact_collection.py +9 -77
- wandb/sdk/artifacts/_generated/project_artifact_collections.py +21 -9
- wandb/sdk/artifacts/_generated/project_artifact_type.py +3 -3
- wandb/sdk/artifacts/_generated/project_artifact_types.py +19 -6
- wandb/sdk/artifacts/_generated/project_artifacts.py +9 -9
- wandb/sdk/artifacts/_generated/registry_collections.py +46 -0
- wandb/sdk/artifacts/_generated/registry_team_members.py +24 -0
- wandb/sdk/artifacts/_generated/registry_user_members.py +22 -0
- wandb/sdk/artifacts/_generated/registry_versions.py +45 -0
- wandb/sdk/artifacts/_generated/rename_registry.py +25 -0
- wandb/sdk/artifacts/_generated/run_input_artifacts.py +7 -31
- wandb/sdk/artifacts/_generated/run_output_artifacts.py +7 -31
- wandb/sdk/artifacts/_generated/type_info.py +19 -0
- wandb/sdk/artifacts/_generated/unlink_artifact.py +19 -0
- wandb/sdk/artifacts/_generated/update_artifact.py +5 -9
- wandb/sdk/artifacts/_generated/update_artifact_collection_type.py +28 -0
- wandb/sdk/artifacts/_generated/update_artifact_portfolio.py +7 -16
- wandb/sdk/artifacts/_generated/update_artifact_sequence.py +7 -16
- wandb/sdk/artifacts/_generated/update_team_registry_role.py +19 -0
- wandb/sdk/artifacts/_generated/update_user_registry_role.py +19 -0
- wandb/sdk/artifacts/_generated/upsert_registry.py +25 -0
- wandb/sdk/artifacts/_gqlutils.py +216 -0
- wandb/sdk/artifacts/_internal_artifact.py +23 -12
- wandb/sdk/artifacts/_models/__init__.py +13 -0
- wandb/sdk/artifacts/_models/artifact_collection.py +114 -0
- wandb/sdk/artifacts/_models/base_model.py +20 -0
- wandb/sdk/artifacts/_models/manifest.py +27 -0
- wandb/sdk/artifacts/_models/pagination.py +26 -0
- wandb/sdk/artifacts/_models/registry.py +110 -0
- wandb/sdk/artifacts/_models/storage.py +29 -0
- wandb/sdk/artifacts/_validators.py +190 -103
- wandb/sdk/artifacts/artifact.py +918 -830
- wandb/sdk/artifacts/artifact_file_cache.py +21 -13
- wandb/sdk/artifacts/artifact_manifest.py +42 -35
- wandb/sdk/artifacts/artifact_manifest_entry.py +154 -148
- wandb/sdk/artifacts/artifact_manifests/artifact_manifest_v1.py +45 -61
- wandb/sdk/artifacts/artifact_saver.py +1 -1
- wandb/sdk/artifacts/exceptions.py +4 -3
- wandb/sdk/artifacts/storage_handler.py +18 -12
- wandb/sdk/artifacts/storage_handlers/_timing.py +34 -0
- wandb/sdk/artifacts/storage_handlers/azure_handler.py +11 -6
- wandb/sdk/artifacts/storage_handlers/gcs_handler.py +143 -108
- wandb/sdk/artifacts/storage_handlers/http_handler.py +70 -61
- wandb/sdk/artifacts/storage_handlers/local_file_handler.py +66 -59
- wandb/sdk/artifacts/storage_handlers/multi_handler.py +5 -4
- wandb/sdk/artifacts/storage_handlers/s3_handler.py +39 -36
- wandb/sdk/artifacts/storage_handlers/tracking_handler.py +6 -4
- wandb/sdk/artifacts/storage_handlers/wb_artifact_handler.py +24 -21
- wandb/sdk/artifacts/storage_handlers/wb_local_artifact_handler.py +6 -3
- wandb/sdk/artifacts/storage_layout.py +9 -1
- wandb/sdk/artifacts/storage_policies/_factories.py +68 -0
- wandb/sdk/artifacts/storage_policies/_multipart.py +191 -0
- wandb/sdk/artifacts/storage_policies/wandb_storage_policy.py +120 -365
- wandb/sdk/artifacts/storage_policy.py +26 -12
- wandb/sdk/backend/backend.py +7 -5
- wandb/sdk/data_types/audio.py +38 -10
- wandb/sdk/data_types/base_types/media.py +15 -63
- wandb/sdk/data_types/base_types/wb_value.py +6 -6
- wandb/sdk/data_types/bokeh.py +5 -1
- wandb/sdk/data_types/graph.py +48 -14
- wandb/sdk/data_types/helper_types/bounding_boxes_2d.py +1 -3
- wandb/sdk/data_types/helper_types/image_mask.py +1 -3
- wandb/sdk/data_types/histogram.py +34 -21
- wandb/sdk/data_types/html.py +35 -12
- wandb/sdk/data_types/image.py +123 -76
- wandb/sdk/data_types/molecule.py +32 -19
- wandb/sdk/data_types/object_3d.py +103 -19
- wandb/sdk/data_types/plotly.py +18 -5
- wandb/sdk/data_types/saved_model.py +7 -9
- wandb/sdk/data_types/table.py +99 -70
- wandb/sdk/data_types/trace_tree.py +12 -12
- wandb/sdk/data_types/video.py +53 -26
- wandb/sdk/integration_utils/auto_logging.py +2 -2
- wandb/sdk/interface/interface.py +172 -144
- wandb/sdk/interface/interface_queue.py +31 -15
- wandb/sdk/interface/interface_shared.py +99 -79
- wandb/sdk/interface/interface_sock.py +36 -16
- wandb/sdk/internal/_generated/__init__.py +2 -12
- wandb/sdk/internal/_generated/server_features_query.py +4 -4
- wandb/sdk/internal/datastore.py +18 -30
- wandb/sdk/internal/file_stream.py +4 -3
- wandb/sdk/internal/handler.py +3 -5
- wandb/sdk/internal/internal_api.py +403 -316
- wandb/sdk/internal/job_builder.py +33 -10
- wandb/sdk/internal/sender.py +31 -7
- wandb/sdk/internal/sender_config.py +9 -0
- wandb/sdk/internal/settings_static.py +1 -82
- wandb/sdk/launch/_launch.py +2 -2
- wandb/sdk/launch/_project_spec.py +3 -3
- wandb/sdk/launch/agent/agent.py +20 -12
- wandb/sdk/launch/agent/job_status_tracker.py +3 -1
- wandb/sdk/launch/agent/run_queue_item_file_saver.py +2 -2
- wandb/sdk/launch/create_job.py +17 -3
- wandb/sdk/launch/inputs/internal.py +28 -28
- wandb/sdk/launch/inputs/schema.py +41 -7
- wandb/sdk/launch/runner/kubernetes_monitor.py +1 -0
- wandb/sdk/launch/runner/kubernetes_runner.py +346 -19
- wandb/sdk/launch/sweeps/scheduler.py +4 -4
- wandb/sdk/launch/sweeps/utils.py +2 -2
- wandb/sdk/launch/utils.py +85 -4
- wandb/sdk/lib/apikey.py +39 -68
- wandb/sdk/lib/asyncio_compat.py +106 -38
- wandb/sdk/lib/asyncio_manager.py +252 -0
- wandb/sdk/lib/config_util.py +4 -2
- wandb/sdk/lib/console_capture.py +69 -14
- wandb/sdk/lib/credentials.py +2 -2
- wandb/sdk/lib/deprecation.py +28 -0
- wandb/sdk/lib/disabled.py +7 -7
- wandb/sdk/lib/gql_request.py +20 -8
- wandb/sdk/lib/hashutil.py +27 -5
- wandb/sdk/lib/module.py +7 -13
- wandb/sdk/lib/paths.py +23 -21
- wandb/sdk/lib/printer.py +11 -15
- wandb/sdk/lib/printer_asyncio.py +3 -1
- wandb/sdk/lib/progress.py +163 -151
- wandb/sdk/lib/retry.py +189 -81
- wandb/sdk/lib/server.py +2 -1
- wandb/sdk/lib/service/service_client.py +102 -0
- wandb/sdk/lib/service/service_connection.py +89 -49
- wandb/sdk/lib/service/service_process.py +4 -4
- wandb/sdk/lib/service/service_token.py +30 -13
- wandb/sdk/lib/timed_input.py +28 -21
- wandb/sdk/lib/wb_logging.py +2 -1
- wandb/sdk/mailbox/mailbox.py +14 -6
- wandb/sdk/mailbox/mailbox_handle.py +24 -13
- wandb/sdk/mailbox/response_handle.py +42 -106
- wandb/sdk/mailbox/wait_with_progress.py +8 -43
- wandb/sdk/wandb_init.py +149 -167
- wandb/sdk/wandb_login.py +104 -69
- wandb/sdk/wandb_metric.py +2 -0
- wandb/sdk/wandb_require.py +0 -1
- wandb/sdk/wandb_run.py +622 -684
- wandb/sdk/wandb_settings.py +600 -118
- wandb/sdk/wandb_setup.py +207 -126
- wandb/sdk/wandb_summary.py +0 -1
- wandb/sdk/wandb_sweep.py +17 -15
- wandb/sdk/wandb_watch.py +4 -6
- wandb/sync/sync.py +17 -4
- wandb/util.py +179 -157
- wandb/wandb_agent.py +44 -9
- wandb/wandb_run.py +1 -2
- {wandb-0.20.2rc20250616.dist-info → wandb-0.23.0rc1.dist-info}/METADATA +60 -40
- {wandb-0.20.2rc20250616.dist-info → wandb-0.23.0rc1.dist-info}/RECORD +835 -790
- wandb/proto/wandb_deprecated.py +0 -53
- wandb/proto/wandb_generate_deprecated.py +0 -30
- wandb/sdk/artifacts/_generated/create_artifact_collection_tag_assignments.py +0 -36
- wandb/sdk/artifacts/_generated/delete_artifact_collection_tag_assignments.py +0 -25
- wandb/sdk/artifacts/_generated/move_artifact_collection.py +0 -35
- wandb/sdk/artifacts/_graphql_fragments.py +0 -102
- wandb/sdk/interface/interface_relay.py +0 -38
- wandb/sdk/interface/router.py +0 -89
- wandb/sdk/interface/router_queue.py +0 -43
- wandb/sdk/interface/router_relay.py +0 -50
- wandb/sdk/interface/router_sock.py +0 -32
- wandb/sdk/lib/deprecate.py +0 -33
- wandb/sdk/lib/sock_client.py +0 -236
- wandb/sdk/projects/_generated/__init__.py +0 -47
- wandb/sdk/projects/_generated/delete_project.py +0 -22
- wandb/sdk/projects/_generated/enums.py +0 -4
- wandb/sdk/projects/_generated/fragments.py +0 -41
- wandb/sdk/projects/_generated/input_types.py +0 -13
- wandb/sdk/projects/_generated/operations.py +0 -88
- wandb/sdk/projects/_generated/rename_project.py +0 -27
- wandb/sdk/projects/_generated/upsert_registry_project.py +0 -27
- wandb/sdk/wandb_metadata.py +0 -623
- wandb/sdk/wandb_sync.py +0 -71
- wandb/vendor/pynvml/__init__.py +0 -0
- wandb/vendor/pynvml/pynvml.py +0 -4779
- {wandb-0.20.2rc20250616.dist-info → wandb-0.23.0rc1.dist-info}/WHEEL +0 -0
- {wandb-0.20.2rc20250616.dist-info → wandb-0.23.0rc1.dist-info}/entry_points.txt +0 -0
- {wandb-0.20.2rc20250616.dist-info → wandb-0.23.0rc1.dist-info}/licenses/LICENSE +0 -0
package_readme.md
CHANGED
|
@@ -1,88 +1,107 @@
|
|
|
1
1
|
<div align="center">
|
|
2
|
-
<img src="https://i.imgur.com/
|
|
2
|
+
<img src="https://i.imgur.com/dQLeGCc.png" width="600" /><br><br>
|
|
3
3
|
</div>
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
<p align="center">
|
|
6
|
+
<a href="https://pypi.python.org/pypi/wandb"><img src="https://img.shields.io/pypi/v/wandb" /></a>
|
|
7
|
+
<a href="https://anaconda.org/conda-forge/wandb"><img src="https://img.shields.io/conda/vn/conda-forge/wandb" /></a>
|
|
8
|
+
<a href="https://pypi.python.org/pypi/wandb"><img src="https://img.shields.io/pypi/pyversions/wandb" /></a>
|
|
9
|
+
<a href="https://circleci.com/gh/wandb/wandb"><img src="https://img.shields.io/circleci/build/github/wandb/wandb/main" /></a>
|
|
10
|
+
<a href="https://codecov.io/gh/wandb/wandb"><img src="https://img.shields.io/codecov/c/gh/wandb/wandb" /></a>
|
|
11
|
+
</p>
|
|
12
|
+
<p align='center'>
|
|
13
|
+
<a href="https://colab.research.google.com/github/wandb/examples/blob/master/colabs/intro/Intro_to_Weights_%26_Biases.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" /></a>
|
|
14
|
+
</p>
|
|
6
15
|
|
|
7
|
-
Use W&B to build better models faster. Track and visualize all the pieces of your machine learning pipeline, from datasets to production machine learning models. Get started with W&B today, [sign up for
|
|
16
|
+
Use W&B to build better models faster. Track and visualize all the pieces of your machine learning pipeline, from datasets to production machine learning models. Get started with W&B today, [sign up for a W&B account](https://wandb.com?utm_source=github&utm_medium=code&utm_campaign=wandb&utm_content=readme)!
|
|
8
17
|
|
|
18
|
+
<br>
|
|
9
19
|
|
|
20
|
+
Building an LLM app? Track, debug, evaluate, and monitor LLM apps with [Weave](https://wandb.github.io/weave?utm_source=github&utm_medium=code&utm_campaign=wandb&utm_content=readme), our new suite of tools for GenAI.
|
|
10
21
|
|
|
11
|
-
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
# Documentation
|
|
25
|
+
|
|
26
|
+
See the [W&B Developer Guide](https://docs.wandb.ai/?utm_source=github&utm_medium=code&utm_campaign=wandb&utm_content=documentation) and [API Reference Guide](https://docs.wandb.ai/training/api-reference#api-overview?utm_source=github&utm_medium=code&utm_campaign=wandb&utm_content=documentation) for a full technical description of the W&B platform.
|
|
12
27
|
|
|
13
28
|
|
|
14
29
|
|
|
15
30
|
# Quickstart
|
|
16
31
|
|
|
17
|
-
|
|
32
|
+
Install W&B to track, visualize, and manage machine learning experiments of any size.
|
|
18
33
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
2. Second, install the W&B SDK with [pip](https://pip.pypa.io/en/stable/). Navigate to your terminal and type the following command:
|
|
34
|
+
## Install the wandb library
|
|
22
35
|
|
|
23
36
|
```shell
|
|
24
37
|
pip install wandb
|
|
25
38
|
```
|
|
26
39
|
|
|
27
|
-
|
|
40
|
+
## Sign up and create an API key
|
|
28
41
|
|
|
29
|
-
|
|
30
|
-
wandb.login()
|
|
31
|
-
```
|
|
42
|
+
Sign up for a [W&B account](https://wandb.ai/login?utm_source=github&utm_medium=code&utm_campaign=wandb&utm_content=quickstart). Optionally, use the `wandb login` CLI to configure an API key on your machine. You can skip this step -- W&B will prompt you for an API key the first time you use it.
|
|
32
43
|
|
|
33
|
-
|
|
44
|
+
## Create a machine learning training experiment
|
|
45
|
+
|
|
46
|
+
In your Python script or notebook, initialize a W&B run with `wandb.init()`.
|
|
47
|
+
Specify hyperparameters and log metrics and other information to W&B.
|
|
34
48
|
|
|
35
49
|
```python
|
|
36
50
|
import wandb
|
|
37
51
|
|
|
38
|
-
#
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
# Save model inputs and hyperparameters in a wandb.config object
|
|
42
|
-
config = run.config
|
|
43
|
-
config.learning_rate = 0.01
|
|
52
|
+
# Project that the run is recorded to
|
|
53
|
+
project = "my-awesome-project"
|
|
44
54
|
|
|
45
|
-
#
|
|
55
|
+
# Dictionary with hyperparameters
|
|
56
|
+
config = {"epochs" : 1337, "lr" : 3e-4}
|
|
46
57
|
|
|
47
|
-
#
|
|
48
|
-
|
|
49
|
-
|
|
58
|
+
# The `with` syntax marks the run as finished upon exiting the `with` block,
|
|
59
|
+
# and it marks the run "failed" if there's an exception.
|
|
60
|
+
#
|
|
61
|
+
# In a notebook, it may be more convenient to write `run = wandb.init()`
|
|
62
|
+
# and manually call `run.finish()` instead of using a `with` block.
|
|
63
|
+
with wandb.init(project=project, config=config) as run:
|
|
64
|
+
# Training code here
|
|
50
65
|
|
|
51
|
-
#
|
|
52
|
-
run.
|
|
66
|
+
# Log values to W&B with run.log()
|
|
67
|
+
run.log({"accuracy": 0.9, "loss": 0.1})
|
|
53
68
|
```
|
|
54
69
|
|
|
55
|
-
|
|
70
|
+
Visit [wandb.ai/home](https://wandb.ai/home) to view recorded metrics such as accuracy and loss and how they changed during each training step. Each run object appears in the Runs column with generated names.
|
|
56
71
|
|
|
57
|
-
|
|
58
|
-
python train.py
|
|
59
|
-
```
|
|
72
|
+
|
|
60
73
|
|
|
61
|
-
|
|
74
|
+
# Integrations
|
|
75
|
+
|
|
76
|
+
W&B [integrates](https://docs.wandb.ai/models/integrations) with popular ML frameworks and libraries making it fast and easy to set up experiment tracking and data versioning inside existing projects.
|
|
77
|
+
|
|
78
|
+
For developers adding W&B to a new framework, follow the [W&B Developer Guide](https://docs.wandb.ai/models/integrations/add-wandb-to-any-library).
|
|
62
79
|
|
|
63
80
|
|
|
64
81
|
|
|
65
|
-
#
|
|
82
|
+
# W&B Hosting Options
|
|
83
|
+
|
|
84
|
+
Weights & Biases is available in the cloud or installed on your private infrastructure. Set up a W&B Server in a production environment in one of three ways:
|
|
66
85
|
|
|
67
|
-
|
|
86
|
+
1. [Multi-tenant Cloud](https://docs.wandb.ai/platform/hosting/hosting-options/multi_tenant_cloud?utm_source=github&utm_medium=code&utm_campaign=wandb&utm_content=hosting): Fully managed platform deployed in W&B’s Google Cloud Platform (GCP) account in GCP’s North America regions.
|
|
87
|
+
2. [Dedicated Cloud](https://docs.wandb.ai/platform/hosting/hosting-options/dedicated_cloud?utm_source=github&utm_medium=code&utm_campaign=wandb&utm_content=hosting): Single-tenant, fully managed platform deployed in W&B’s AWS, GCP, or Azure cloud accounts. Each Dedicated Cloud instance has its own isolated network, compute and storage from other W&B Dedicated Cloud instances.
|
|
88
|
+
3. [Self-Managed](https://docs.wandb.ai/platform/hosting/hosting-options/self-managed?utm_source=github&utm_medium=code&utm_campaign=wandb&utm_content=hosting): Deploy W&B Server on your AWS, GCP, or Azure cloud account or within your on-premises infrastructure.
|
|
89
|
+
|
|
90
|
+
See the [Hosting documentation](https://docs.wandb.ai/guides/hosting?utm_source=github&utm_medium=code&utm_campaign=wandb&utm_content=hosting) in the W&B Developer Guide for more information.
|
|
68
91
|
|
|
69
92
|
|
|
70
93
|
|
|
71
94
|
# Python Version Support
|
|
72
95
|
|
|
73
|
-
We are committed to supporting our minimum required Python version for
|
|
96
|
+
We are committed to supporting our minimum required Python version for _at least_ six months after its official end-of-life (EOL) date, as defined by the Python Software Foundation. You can find a list of Python EOL dates [here](https://devguide.python.org/versions/).
|
|
74
97
|
|
|
75
98
|
When we discontinue support for a Python version, we will increment the library’s minor version number to reflect this change.
|
|
76
99
|
|
|
77
100
|
|
|
78
101
|
|
|
79
102
|
# Contribution guidelines
|
|
80
|
-
Weights & Biases ❤️ open source, and we welcome contributions from the community! See the [Contribution guide](https://github.com/wandb/wandb/blob/main/CONTRIBUTING.md) for more information on the development workflow and the internals of the wandb library. For wandb bugs and feature requests, visit [GitHub Issues](https://github.com/wandb/wandb/issues) or contact support@wandb.com.
|
|
81
103
|
|
|
82
|
-
&
|
|
83
|
-
|
|
84
|
-
# Academic Researchers
|
|
85
|
-
Reach out to W&B Support at support@wandb.com to get a [free academic license](https://www.wandb.com/academic) for you and your research group.
|
|
104
|
+
Weights & Biases ❤️ open source, and we welcome contributions from the community! See the [Contribution guide](https://github.com/wandb/wandb/blob/main/CONTRIBUTING.md) for more information on the development workflow and the internals of the wandb library. For wandb bugs and feature requests, visit [GitHub Issues](https://github.com/wandb/wandb/issues) or contact support@wandb.com.
|
|
86
105
|
|
|
87
106
|
|
|
88
107
|
|
wandb/__init__.py
CHANGED
|
@@ -6,11 +6,11 @@ For guides and examples, see https://docs.wandb.ai.
|
|
|
6
6
|
|
|
7
7
|
For scripts and interactive notebooks, see https://github.com/wandb/examples.
|
|
8
8
|
|
|
9
|
-
For reference documentation, see https://docs.wandb.
|
|
9
|
+
For reference documentation, see https://docs.wandb.ai/models/ref/python.
|
|
10
10
|
"""
|
|
11
11
|
from __future__ import annotations
|
|
12
12
|
|
|
13
|
-
__version__ = "0.
|
|
13
|
+
__version__ = "0.23.0rc1"
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
from wandb.errors import Error
|
|
@@ -31,7 +31,6 @@ wandb.wandb_lib = wandb_sdk.lib # type: ignore
|
|
|
31
31
|
init = wandb_sdk.init
|
|
32
32
|
setup = wandb_sdk.setup
|
|
33
33
|
attach = _attach = wandb_sdk._attach
|
|
34
|
-
_sync = wandb_sdk._sync
|
|
35
34
|
teardown = _teardown = wandb_sdk.teardown
|
|
36
35
|
finish = wandb_sdk.finish
|
|
37
36
|
join = finish
|
|
@@ -53,7 +52,6 @@ _lazyloader = wandb.wandb_lib.lazyloader # type: ignore
|
|
|
53
52
|
|
|
54
53
|
from wandb.integration.torch import wandb_torch
|
|
55
54
|
|
|
56
|
-
# Move this (keras.__init__ expects it at top level)
|
|
57
55
|
from wandb.sdk.data_types._private import _cleanup_media_tmp_dir
|
|
58
56
|
|
|
59
57
|
_cleanup_media_tmp_dir()
|
|
@@ -61,8 +59,6 @@ _cleanup_media_tmp_dir()
|
|
|
61
59
|
from wandb.data_types import Graph
|
|
62
60
|
from wandb.data_types import Image
|
|
63
61
|
from wandb.data_types import Plotly
|
|
64
|
-
|
|
65
|
-
# from wandb.data_types import Bokeh # keeping out of top level for now since Bokeh plots have poor UI
|
|
66
62
|
from wandb.data_types import Video
|
|
67
63
|
from wandb.data_types import Audio
|
|
68
64
|
from wandb.data_types import Table
|
|
@@ -79,71 +75,47 @@ from wandb.wandb_agent import agent
|
|
|
79
75
|
from wandb.plot import visualize, plot_table
|
|
80
76
|
from wandb.integration.sagemaker import sagemaker_auth
|
|
81
77
|
from wandb.sdk.internal import profiler
|
|
78
|
+
from wandb.sdk.wandb_run import Run
|
|
82
79
|
|
|
83
80
|
# Artifact import types
|
|
84
81
|
from wandb.sdk.artifacts.artifact_ttl import ArtifactTTL
|
|
85
82
|
|
|
86
|
-
# Used to make sure we don't use some code in the incorrect process context
|
|
87
|
-
_IS_INTERNAL_PROCESS = False
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
def _set_internal_process(disable=False):
|
|
91
|
-
global _IS_INTERNAL_PROCESS
|
|
92
|
-
if _IS_INTERNAL_PROCESS is None:
|
|
93
|
-
return
|
|
94
|
-
if disable:
|
|
95
|
-
_IS_INTERNAL_PROCESS = None
|
|
96
|
-
return
|
|
97
|
-
_IS_INTERNAL_PROCESS = True
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
def _assert_is_internal_process():
|
|
101
|
-
if _IS_INTERNAL_PROCESS is None:
|
|
102
|
-
return
|
|
103
|
-
assert _IS_INTERNAL_PROCESS
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
def _assert_is_user_process():
|
|
107
|
-
if _IS_INTERNAL_PROCESS is None:
|
|
108
|
-
return
|
|
109
|
-
assert not _IS_INTERNAL_PROCESS
|
|
110
|
-
|
|
111
83
|
|
|
112
84
|
# globals
|
|
113
85
|
Api = PublicApi
|
|
114
86
|
api = InternalApi()
|
|
115
|
-
run:
|
|
87
|
+
run: Run | None = None
|
|
116
88
|
config = _preinit.PreInitObject("wandb.config", wandb_sdk.wandb_config.Config)
|
|
117
89
|
summary = _preinit.PreInitObject("wandb.summary", wandb_sdk.wandb_summary.Summary)
|
|
118
|
-
log = _preinit.PreInitCallable("wandb.log",
|
|
119
|
-
watch = _preinit.PreInitCallable("wandb.watch",
|
|
120
|
-
unwatch = _preinit.PreInitCallable("wandb.unwatch",
|
|
121
|
-
save = _preinit.PreInitCallable("wandb.save",
|
|
90
|
+
log = _preinit.PreInitCallable("wandb.log", Run.log) # type: ignore
|
|
91
|
+
watch = _preinit.PreInitCallable("wandb.watch", Run.watch) # type: ignore
|
|
92
|
+
unwatch = _preinit.PreInitCallable("wandb.unwatch", Run.unwatch) # type: ignore
|
|
93
|
+
save = _preinit.PreInitCallable("wandb.save", Run.save) # type: ignore
|
|
122
94
|
restore = wandb_sdk.wandb_run.restore
|
|
123
95
|
use_artifact = _preinit.PreInitCallable(
|
|
124
|
-
"wandb.use_artifact",
|
|
96
|
+
"wandb.use_artifact", Run.use_artifact # type: ignore
|
|
125
97
|
)
|
|
126
98
|
log_artifact = _preinit.PreInitCallable(
|
|
127
|
-
"wandb.log_artifact",
|
|
99
|
+
"wandb.log_artifact", Run.log_artifact # type: ignore
|
|
128
100
|
)
|
|
129
101
|
log_model = _preinit.PreInitCallable(
|
|
130
|
-
"wandb.log_model",
|
|
102
|
+
"wandb.log_model", Run.log_model # type: ignore
|
|
131
103
|
)
|
|
132
104
|
use_model = _preinit.PreInitCallable(
|
|
133
|
-
"wandb.use_model",
|
|
105
|
+
"wandb.use_model", Run.use_model # type: ignore
|
|
134
106
|
)
|
|
135
107
|
link_model = _preinit.PreInitCallable(
|
|
136
|
-
"wandb.link_model",
|
|
108
|
+
"wandb.link_model", Run.link_model # type: ignore
|
|
137
109
|
)
|
|
138
110
|
define_metric = _preinit.PreInitCallable(
|
|
139
|
-
"wandb.define_metric",
|
|
111
|
+
"wandb.define_metric", Run.define_metric # type: ignore
|
|
140
112
|
)
|
|
141
113
|
|
|
142
114
|
mark_preempting = _preinit.PreInitCallable(
|
|
143
|
-
"wandb.mark_preempting",
|
|
115
|
+
"wandb.mark_preempting", Run.mark_preempting # type: ignore
|
|
144
116
|
)
|
|
145
117
|
|
|
146
|
-
alert = _preinit.PreInitCallable("wandb.alert",
|
|
118
|
+
alert = _preinit.PreInitCallable("wandb.alert", Run.alert) # type: ignore
|
|
147
119
|
|
|
148
120
|
# record of patched libraries
|
|
149
121
|
patched = {"tensorboard": [], "keras": [], "gym": []} # type: ignore
|
|
@@ -176,10 +148,9 @@ def ensure_configured():
|
|
|
176
148
|
|
|
177
149
|
|
|
178
150
|
def set_trace():
|
|
179
|
-
import pdb
|
|
151
|
+
import pdb
|
|
180
152
|
|
|
181
|
-
|
|
182
|
-
pdb.set_trace() # TODO: pass the parent stack...
|
|
153
|
+
pdb.set_trace()
|
|
183
154
|
|
|
184
155
|
|
|
185
156
|
def load_ipython_extension(ipython):
|
|
@@ -192,8 +163,6 @@ if wandb_sdk.lib.ipython.in_notebook():
|
|
|
192
163
|
load_ipython_extension(get_ipython())
|
|
193
164
|
|
|
194
165
|
|
|
195
|
-
from .analytics import Sentry as _Sentry
|
|
196
|
-
|
|
197
166
|
if "dev" in __version__:
|
|
198
167
|
import wandb.env
|
|
199
168
|
import os
|
|
@@ -204,9 +173,6 @@ if "dev" in __version__:
|
|
|
204
173
|
"false",
|
|
205
174
|
)
|
|
206
175
|
|
|
207
|
-
_sentry = _Sentry()
|
|
208
|
-
_sentry.setup()
|
|
209
|
-
|
|
210
176
|
|
|
211
177
|
__all__ = (
|
|
212
178
|
"__version__",
|
|
@@ -243,4 +209,5 @@ __all__ = (
|
|
|
243
209
|
"watch",
|
|
244
210
|
"unwatch",
|
|
245
211
|
"plot_table",
|
|
212
|
+
"Run",
|
|
246
213
|
)
|