v0.20.0
What's Changed
- wandb.Table: Added new constructor param,
log_mode
, with options"IMMUTABLE"
and"MUTABLE"
.IMMUTABLE
log mode (default) is existing behavior that only allows a table to be logged once.MUTABLE
log mode allows the table to be logged again if it has been mutated. (@domphan-wandb in #9758) - wandb.Table: Added a new
log_mode
,"INCREMENTAL"
, which logs newly added table data incrementally. (@domphan-wandb in #9810)
Notable Changes
This version removes the ability to disable the service
process. This is a breaking change.
Added
- Added
merge
parameter toArtifact.add_dir
to allow overwrite of previously-added artifact files (@pingleiwandb in #9907) - Support for pytorch.tensor for
masks
andboxes
parameters when creating awandb.Image
object. (@jacobromero in #9802) sync_tensorboard
now supports syncing tfevents files stored in S3, GCS and Azure (@timoffex in #9849)- GCS paths use the format
gs://bucket/path/to/log/dir
and rely on application-default credentials, which can be configured usinggcloud auth application-default login
- S3 paths use the format
s3://bucket/path/to/log/dir
and rely on the default credentials set throughaws configure
- Azure paths use the format
az://account/container/path/to/log/dir
and theaz login
credentials, but also require theAZURE_STORAGE_ACCOUNT
andAZURE_STORAGE_KEY
environment variables to be set. Some other environment variables are supported as well, see here.
- GCS paths use the format
- Added support for initializing some Media objects with
pathlib.Path
(@jacobromero in #9692) - New setting
x_skip_transaction_log
that allows to skip the transaction log. Note: Should be used with caution, as it removes the gurantees about recoverability. (@kptkin in #9064) normalize
parameter towandb.Image
initialization to normalize pixel values for Images initialized with a numpy array or pytorch tensor. (@jacobromero in #9883)
Changed
- Various APIs now raise
TypeError
instead ofValueError
or other generic errors when given an argument of the wrong type. (@timoffex in #9902) - Various Artifacts and Automations APIs now raise
CommError
instead ofValueError
upon encountering server errors, so as to surface the server error message. (@ibindlish in #9933) wandb.sdk.wandb_run.Run::save
method now requires theglob_str
argument (@dmitryduev in #9962)
Removed
- Removed support for disabling the
service
process. Thex_disable_service
/_disable_service
setting and theWANDB_DISABLE_SERVICE
/WANDB_X_DISABLE_SERVICE
environment variable have been deprecated and will now raise an error if used (@kptkin in #9829) - Removed ability to use
wandb.docker
after only importingwandb
(@timoffex in #9941)wandb.docker
is not part ofwandb
's public interface and is subject to breaking changes. Please do not use it.
- Removed no-op
sync
argument fromwandb.Run::log
function (@kptkin in #9940) - Removed deprecated
wandb.sdk.wandb_run.Run.mode
property (@dmitryduev in #9958) - Removed deprecated
wandb.sdk.wandb_run.Run::join
method (@dmitryduev in #9960)
Deprecated
- The
start_method
setting is deprecated and has no effect; it is safely ignored (@kptkin in #9837) - The property
Artifact.use_as
and parameteruse_as
forrun.use_artifact()
are deprecated since these have not been in use for W&B Launch (@ibindlish in #9760)
Fixed
- Calling
wandb.teardown()
in a child of a process that calledwandb.setup()
no longer raisesWandbServiceNotOwnedError
(@timoffex in #9875)- This error could have manifested when using W&B Sweeps
- Offline runs with requested branching (fork or rewind) sync correctly (@dmitryduev in #9876)
- Log exception as string when raising exception in Job wait_until_running method (@KyleGoyette in #9607)
wandb.Image
initialized with tensorflow data would be normalized differently than when initialized with a numpy array (@jacobromero in #9883)- Using
wandb login
no longer prints a warning aboutwandb.require("legacy-service")
(@timoffex in #9912) - Logging a
Table
(or other objects that create internal artifacts) no longer raisesValueError
when logged from a run whose ID contains special characters. (@tonyyli-wandb in #9943) wandb.Api
initialized with thebase_url
now respects the provided url, rather than the last login url (@jacobromero in #9942)