- Update requirements to fix incompatibility with protobuf >= 4 by @dmitryduev in #3709
- Improve W&B footer by aligning summary/history in notebook env by @kptkin in #3479
- Enable experimental history step logging in artifacts by @raubitsj in #3502
- Add
args_no_boolean_flags
macro to sweep configuration by @hu-po in #3489 - Add logging support for
jax.bfloat.bfloat16
by @dmitryduev in #3528 - Raise exception when Table size exceeds limit by @dannygoldstein in #3511
- Add kaniko k8s builder for wandb launch by @KyleGoyette in #3492
- Add wandb.init() timeout setting by @kptkin in #3579
- Do not assume executable for given entrypoints with wandb launch by @KyleGoyette in #3461
- Jupyter environments no longer collect command arguments by @KyleGoyette in #3456
- Add support for TensorFlow/Keras SavedModel format by @ayulockin in #3276
- Support version IDs in artifact refs, fix s3/gcs references in Windows by @annirudh in #3529
- Fix support for multiple finish for single run using wandb-service by @kptkin in #3560
- Fix duplicate backtrace when using wandb-service by @kptkin in #3575
- Fix wrong entity displayed in login message by @kptkin in #3490
- Fix hang when
wandb.init
is interrupted mid setup using wandb-service by @kptkin in #3569 - Fix handling keyboard interrupt to avoid hangs with wandb-service enabled by @kptkin in #3566
- Fix console logging with very long print out when using wandb-service by @kptkin in #3574
- Fix broken artifact string in launch init config by @KyleGoyette in #3582
- Fix typo in wandb.log() docstring by @RobRomijnders in #3520
- Cleanup custom chart code and add type annotations to plot functions by @kptkin in #3407
- Improve
wandb.init(settings=)
to handleSettings
object similarly todict
parameter by @dmitryduev in #3510 - Add documentation note about api.viewer in api.user() and api.users() by @ramit-wandb in #3552
- Be explicit about us being py3+ only in setup.py by @dmitryduev in #3549
- Add type annotations to DirWatcher by @speezepearson in #3557
- Improve wandb.log() docstring to use the correct argument name by @idaho777 in #3585
- @RobRomijnders made their first contribution in #3520
- @ramit-wandb made their first contribution in #3552
- @idaho777 made their first contribution in #3585
Full Changelog: https://github.com/wandb/client/compare/v0.12.15...v0.12.16
- Optimize wandb.Image logging when linked to an artifact by @tssweeney in #3418
Full Changelog: https://github.com/wandb/client/compare/v0.12.14...v0.12.15
- Fix regression: disable saving history step in artifacts by @vwrj in #3495
Full Changelog: https://github.com/wandb/client/compare/v0.12.13...v0.12.14
- Revert strictened api_key validation by @dmitryduev in #3485
Full Changelog: https://github.com/wandb/client/compare/v0.12.12...v0.12.13
- Allow run objects to be passed to other processes when using wandb-service by @kptkin in #3308
- Add create user to public api by @vanpelt in #3438
- Support logging from multiple processes with wandb-service by @kptkin in #3285
- Add gpus flag for local launch runner with cuda by @KyleGoyette in #3417
- Improve Launch deployable agent by @KyleGoyette in #3388
- Add Launch kubernetes integration by @KyleGoyette in #3393
- KFP: Add wandb visualization helper by @andrewtruong in #3439
- KFP: Link back to Kubeflow UI by @andrewtruong in #3427
- Add boolean flag arg macro by @hugo.ponte in #3489
- Improve host / WANDB_BASE_URL validation by @dmitryduev in #3314
- Fix/insecure tempfile by @dmitryduev in #3360
- Fix excess warning span if requested WANDB_DIR/root_dir is not writable by @dmitryduev in #3304
- Fix line_series to plot array of strings by @kptkin in #3385
- Properly handle command line args with service by @kptkin in #3371
- Improve api_key validation by @dmitryduev in #3384
- Fix multiple performance issues caused by not using defaultdict by @dmitryduev in #3406
- Enable inf max jobs on launch agent by @stephchen in #3412
- fix colab command to work with launch by @stephchen in #3422
- fix typo in Config docstring by @hu-po in #3416
- Make code saving not a policy, keep previous custom logic by @dmitryduev in #3395
- Fix logging sequence images with service by @kptkin in #3339
- Add username to debug-cli log file to prevent conflicts of multiple users by @zythosec in #3301
- Fix python sweep agent for users of wandb service / pytorch-lightning by @raubitsj in #3465
- Remove unnecessary launch reqs checks by @KyleGoyette in #3457
- Workaround for MoviePy's Unclosed Writer by @tssweeney in #3471
- Improve handling of Run objects when service is not enabled by @kptkin in #3362
Full Changelog: https://github.com/wandb/client/compare/v0.12.11...v0.12.12
- Add captions to Molecules by @dmitryduev in #3173
- Add CatBoost Integration by @ayulockin in #2975
- Launch: AWS Sagemaker integration by @KyleGoyette in #3007
- Launch: Remove repo2docker and add gpu support by @stephchen in #3161
- Adds Timestamp inference from Python for Weave by @tssweeney in #3212
- Launch GCP vertex integration by @stephchen in #3040
- Use Artifacts when put into run config. Accept a string to represent an artifact in the run config by @KyleGoyette in #3203
- Improve xgboost
wandb_callback
(#2929) by @ayulockin in #3025 - Add initial kubeflow pipeline support by @andrewtruong in #3206
- Fix logging of images with special characters in the key by @speezepearson in #3187
- Fix azure blob upload retry logic by @vanpelt in #3218
- Fix program field for scripts run as a python module by @dmitryduev in #3228
- Fix issue where
sync_tensorboard
could die on large histograms by @KyleGoyette in #3019 - Fix wandb service performance issue during run shutdown by @raubitsj in #3262
- Fix vendoring of gql and graphql by @raubitsj in #3266
- Flush log data without finish with service by @kptkin in #3137
- Fix wandb service hang when the service crashes by @raubitsj in #3280
- Fix issue logging images with "/" on Windows by @KyleGoyette in #3146
- Add image filenames to images/separated media by @KyleGoyette in #3041
- Add setproctitle to requirements.txt by @raubitsj in #3289
- Fix issue where sagemaker run ids break run queues by @KyleGoyette in #3290
- Fix encoding exception when using %%capture magic by @raubitsj in #3310
- @speezepearson made their first contribution in #3188
Full Changelog: https://github.com/wandb/client/compare/v0.12.10...v0.12.11
- Improve validation when creating Tables with invalid columns from dataframes by @tssweeney in #3113
- Enable digest deduplication for
use_artifact()
calls by @annirudh in #3109 - Initial prototype of azure blob upload support by @vanpelt in #3089
- Fix wandb launch using python dev versions by @stephchen in #3036
- Fix loading table saved with mixed types by @vwrj in #3120
- Fix ResourceWarning when calling wandb.log by @vwrj in #3130
- Fix missing cursor in ProjectArtifactCollections by @KyleGoyette in #3108
- Fix windows table logging classes issue by @vwrj in #3145
- Gracefully handle string labels in wandb.sklearn.plot.classifier.calibration_curve by @acrellin in #3159
- Do not display login warning when calling wandb.sweep() by @acrellin in #3162
- Drop python2 backport deps (enum34, subprocess32, configparser) by @jbylund in #3004
- Settings refactor by @dmitryduev in #3083
Full Changelog: https://github.com/wandb/client/compare/v0.12.9...v0.12.10
- Fix regression in
upload_file()
exception handler by @raubitsj in #3059
Full Changelog: https://github.com/wandb/client/compare/v0.12.8...v0.12.9
- Update contributing guide and dev env setup tool by @dmitryduev in #2968
- Improve
wandb_callback
for LightGBM (#2945) by @ayulockin in #3024
- Reduce GPU memory usage when generating histogram of model weights by @TOsborn in #2927
- Support mixed classes in bounding box and image mask annotation layers by @tssweeney in #2914
- Add max-jobs and launch async args by @stephchen in #2925
- Support lists of Summary objects encoded as strings to wandb.tensorboard.log by @dmitryduev in #2934
- Fix handling of 0 dim np arrays by @rpitonak in #2954
- Fix handling of empty default config file by @vwrj in #2957
- Add service backend using sockets (support fork) by @raubitsj in #2892
- Send git port along with url when sending git repo by @KyleGoyette in #2959
- Add support raw ip addresses for launch by @KyleGoyette in #2950
- Tables no longer serialize and hide 1d NDArrays by @tssweeney in #2976
- Fix artifact file uploads to S3 stores by @annirudh in #2999
- Send uploaded file list on file stream heartbeats by @annirudh in #2978
- Add support for keras experimental layers by @KyleGoyette in #2776
- Fix
from wandb import magic
to not require tensorflow by @raubitsj in #3021 - Fix launch permission error by @KyleGoyette in #3038
Full Changelog: https://github.com/wandb/client/compare/v0.12.7...v0.12.8
- Fix issue where console log streaming was causing excessive network traffic by @vwrj in #2786
- Metaflow: Make optional dependencies actually optional by @andrewtruong in #2842
- Fix docstrings for wandb.watch and ValidationDataLogger by @charlesfrye in #2849
- Prevent launch agent from sending runs to a different project or entity by @KyleGoyette in #2872
- Fix logging pr_curves through tensorboard by @KyleGoyette in #2876
- Prevent TPU monitoring from reporting invalid metrics when not available by @kptkin in #2753
- Make import order dependencies for WandbCallback more robust by @kptkin in #2807
- Fix a bug in feature importance plotting to handle matrices of different shapes by @dannygoldstein in #2811
- Fix base url handling to allow trailing / by @kptkin in #2910
- Prevent wandb.agent() from sending too many heartbeats impacting rate limits by @dannygoldstein in #2923
- Redact sensitive information from debug logs by @raubitsj in #2931
- Add wandb.Molecule support for rdkit supported formats by @dmitryduev in #2902
- Add module-level docstrings for reference doc modules. by @charlesfrye in #2847
- Store launch metadata in file by @KyleGoyette in #2582
- Add Project.sweeps() public API call to view all sweeps in a project by @stephchen in #2729
- Ensures API key prompt remains captive when user enters nothing by @dannygoldstein in #2721
- Refactors wandb.sklearn into submodules by @charlesfrye in #2869
- Support code artifacts in wandb launch by @KyleGoyette in #2860
- Improve launch agent (async, stop, heartbeat updates) by @stephchen in #2871
- Improve usage and error messages for anonymous mode by @kimjyhello in #2823
- Add example on how to find runs with wandb.Api().runs(...) matching a regex by @dmitryduev in #2926
Full Changelog: https://github.com/wandb/client/compare/v0.12.6...v0.12.7
- Fix sklearn
plot_calibration_curve()
issue breaking the provided model by @vwrj in #2791 - Fix CondaEnvExportError by redirecting stderr by @charlesfrye in #2814
- Fix
use_artifact()
when specifying an artifact from a different project by @KyleGoyette in #2832
- Add metric names to pr curve charts in tensorboard by @vanpelt in #2822
Full Changelog: https://github.com/wandb/client/compare/v0.12.5...v0.12.6
- Report errors for invalid characters in logged media keys on windows
- Handle errors when probing for TPUs in unsupported environments
- Fixed bug where
%%wandb
followed by wandb.init() does not display run links - Fixed api.runs() to correctly return all runs for the current entity/project
- Add
wandb.require(experiment="service")
to improve multiprocessing support - Add support for swappable artifacts in launch context
- Add
wandb.login(timeout=)
support for jupyter environments - Add ability to disable git ref saving with
WANDB_DISABLE_GIT
- Support newer versions of pytest-mock and PyYAML
- Add ability to delete artifacts with aliases:
artifact.delete(delete_aliases=True)
- Add
unwatch()
method to the Run object
- Fix regression introduced in 0.12.2 causing network access when
WANDB_MODE=offline
- Fixes the grid search stopping condition in the local controller
- New jupyter magic for displaying runs, sweeps, and projects
%wandb path/to/run -h 1024
- We no longer display run iframe by default in jupyter, add
%%wandb
to a cell to display a run - Makes api key prompting retry indefinitely on malformed input
- Invite users to teams via the api
api.team("team_name").invite("username_or_email")
- Remove users from a team via the api
api.team("team_name").members[0].delete()
- Create service accounts via the api
api.team("team_name").create_service_account("Description")
- Manage api keys via the api
api.user("username_or_email").generate_api_key()
- Add pytorch profiling trace support with
wandb.profiler.torch_trace_handler()
- Fix tensorboard_sync to handle ephemeral Sagemaker tfevents files
- Fix Reports query from the public api (broken pagination and report path)
- Fix
wandb.login()
when relogin is specified (only force login once)
- Clean up footer output of summary and history metrics
- Clean up error message from
wandb sweep --update
- Add warning for
wandb local
users to update their docker - Add optional argument log_learning_curve to wandb.sklearn.plot_classifier()
- Restore frozen pip package versions when using
wandb launch
- Add support for jupyter notebooks in launch
- Add
wandb.login()
timeout option
- Fix tensorflow/keras 2.6 not logging validation examples
- Fix metrics logged through tensorboard not supporting time on x-axis
- Fix
WANDB_IGNORE_GLOBS
environment variable handling - Fix handling when sys.stdout is configured to a custom logger
- Fix sklearn feature importance plots not matching feature names properly
- Fix an issue where colab urls were not being captured
- Save program commandline if run executable was outside cwd
- Add Prodigy integration to upload annotated datasets to W&B Tables
- Add initial Metaflow support
- Add experimental wandb launch support
- Add warnings that public API requests are timing out and allow override
- Improve error handling in local controller sweeps engine
- Remove Python 3.5 support
- Fix issue that could cause artifact uploads to fail if artifact files are being modified
- Fix issue where
wandb.restore()
wouldn't work with runs from a sweep
- Improve run execution time calculation
- Restore vendored graphql-core library because of network regression
- Python 3.5 will not be supported as of
wandb==0.12.0
- Reduce Memory Footprint of Images In Tables
- Added a dependency on graphql-core>=2.3.0
- Removed urllib3 pin to avoid conflicts, if you see urllib3 related errors run
pip install --upgrade urllib3
- Improved Public API HTTP error messages
- Set run.dir to the generated directory name in disabled mode
- Adds support for native Jax array logging
- Tables now support Molecule data type
- Improve Stable-Baselines3 API by auto log model's name and always upload models at the end of training
- Implements the sweep local controller using wandb/sweeps
- Remove Python 2.7 support
- Fix issue where
wandb.watch()
broke model saving in pytorch - Fix issue where uniform sweep parameters were parsed as int_uniform
- Fix issue where file_stream thread was killed on 4xx errors
- Improve performance of artifact logging by making it non-blocking
- Add wandb integration for Stable-Baselines3
- Improve keras callback validation logging inference logic
- Expose sweep state via the public API
- Improve performance of sweep run fetches via the API
- Fix issue where wandb restore 404ed if the run did not have a diff.patch file
- Fix issue where wandb.log raised an Exception after trying to log a pandas dataframe
- Fix issue where runs could be marked finished before files were finished uploading
- Disable reloading of run metadata (such as command) in resumed runs
- Allow logging of pandas dataframes by automatically converting them to W&B tables
- Fix up
log_code()
exclude fn to handle .wandb dir - Improve handling of PyTorch model topology
- Increase config debounce interval to 30s to reduce load on WB/backend
- Improve reliability of CLI in generating sweeps with names, programs, and settings
- Make
log_artifact()
more resilient to network errors - Removed Duplicate Artifact Dependencies
- Workaround urlib3 issue on windows
- Fix regression where ipython was hanging
- Allow logging of numpy high precision floating point values
- Reduce liklyhood of collisions for file backed media or artifact objects
- Fix wandb.watch() regression when logging pytorch graphs
- Add support for logging joined and partitioned table
- Handle schema validation warnings for sweep configs
- Improve wandb sync to handle errors
- Add ability to label scripts and repositories who use wandb
- wandb.login() did not properly persist the host parameter
- Fix issue where step information was not synced properly when syncing tensorboard directories
- Fix some unicode issues with python2.7
- Fixed bug in
plot_calibration_curve
for ComplementNB - Fall back to not using SendFile on some linux systems
- Fix console issues where lines were truncated
- Fix console issues where console logging could block
- Add support for preemptible sweeps
- Add command line for sweep control
- Add support to load artifact collection properties
- Found and fixed the remaining issues causing runs to be marked crashed during outages
- Improved performance for users of
define_metric
, pytorch-lightning, and aggressive config saving - Fix issue when trying to log a cuda tensor to config or summary
- Remove dependancy on torch
backward_hooks
to compute graph - Fix an issue preventing the ability to resume runs on sagemaker
- Fix issues preventing pdb from working reliably with wandb
- Fix deprecation warning in vendored library (user submission)
- Fix logging behavior where the library was accidently outputting logs to the console
- Fix disabled mode to not create wandb dir and log files
- Renamed types to prep for Tables launch
- Allow renaming groups with public api
- Fix more network handling issues causing runs to be marked crashed (wandb sync to recover)
- Improve logging and exception handling to improve reporting and logging of crashed processes
- Fix network handling issue causing runs to be marked crashed (wandb sync to recover)
- Use
register_full_backward_hook
to support models with Dict outputs - Allow periods in table columns
- Fix artifact cache collisions when using forked processes
- Fix issue where custom charts do not display properly with pytorch-lightning
- Add experimental incremental artifact support
- Improve warnings when logging is being rate limited
- Fix tensorboard_sync condition where metrics at end of short run are dropped
- Fix
wandb sync
when tensorboard files are detected - Fix api key prompt in databricks notebook
- Integrate DSViz into Keras WandbCallback
- Add support for conda dependencies (user submit)
- Fix network handling issue where syncing stopped (use wandb sync to recover)
- Fix auth problem when using sagemaker and hugginface integrations together
- Fix handling of NaN values in tables with non floats
- Lazy load API object to prevent unnessary file access on module load
- Improve error messages when using public api history accessors
- Fix possible artifact cache race when using parallel artifact reads
- Fix artifact reference when
checksum=False
- Release
run.define_metric()
to simplify custom x-axis and more - Add column operators
add_column
,get_column
,get_index
towandb.Table()
- Significant fixes to stdout/stderr console logging
- Prevent excessive network when saving files with policy=
live
- Fix errors when trying to send large updates (most common with
wandb sync
)
- Automatically generate
run_table
artifact for logged tables - Add bracket notation to artifacts
- Improve URL validation when specifying server url to
wandb login
- Fix logged artifacts to be accessible after wait()
- Fix spell.run integration
- Performance fix syncing console logs with carriage returns
- Fix confusion matrix with class names and unlabeled data
- Add the ability to save artifacts without creating a run
- Add Foreign Table References to wandb.Table
- Allow the same runtime object to be logged to multiple artifacts
- Add experimental
run._define_metric()
support - Warn and ignore unsupported multiprocess
wandb.log()
calls
- Fix system metric logging rate in 0.10.x
- Fix Audio external reference issue
- Fix short runs with tensorboard_sync
- Ignore
wandb.init(id=)
when running a sweep - Sanitize artifact metadata if needed
- Allow syncing of tfevents with
wandb sync --sync-tensorboard
- Fix artifact.get() regression since 0.10.18
- Allow 0 byte artifacts
- Fix codesaving and program name reporting
- Added support for glb files for
wandb.Object3D()
- Added support for external references for
wandb.Audio()
- Custom chart support tensorboard
pr_curves
plugin - Support saving entire code directory in an artifact
- wandb.login() now respects disabled mode
- handle exception when trying to log TPUs in colab
- Add
WANDB_START_METHOD=thread
to support non-multiprocessing - Add
group
andjob_type
to Run object in the export API - Improve artifact docstrings
- Fix artifact manifest files incorrectly named with patch suffix
- Add run delete and file delete to the public API
- Align steps between
tensorboard_sync
and wandb.log() history - Add
WANDB_START_METHOD
to allow POSIX systems to use fork - Support mixed types in wandb.Table() with
allow_mixed_types
- Fix potential leaked file due to log not being closed properly
- Improve
wandb verify
to better handle network issues and report errors - Made file downloads more deterministic with respect to filesystem caches
- Fix regression seen with python 3.5
- Silence vendored watchdog warnings on mac
- Artifacts now support parallel writers for large distributed workflows.
- Artifacts support distributed tables for dataset visualization.
- Improvements to PR templates
- Added more type annotations
- Vendored watchdog 0.9.0 removing it as a dependency
- New documentation generator
- Public api now has
file.direct_url
to avoid redirects for signed urls.
- Allow
config-defaults.yaml
to be overwritten when running sweeps - General bug fixes and improvements to
wandb verify
- Disabled widgets in Spyder IDE
- Fixed WANDB_SILENT in Spyder IDE
- Reference file:// artifacts respect the
name
attribute.
- Add
wandb verify
to troubleshoot local installs
- Fix tensorboard_sync issue writing to s3
- Prevent git secrets from being stored
- Disable verbose console messages when using moviepy
- Fix artifacts with checkpoints to be more robust when overwriting files
- Fix artifacts recycled id issue
- Add wandb.Audio support to Artifacts
- Fix wandb config regressions introduced in 0.10.13
- Rollback changes supporting media with slashes in keys
- Add support for Mac M1 GPU monitoring
- Add support for TPU monitoring
- Add setting to disable sagemaker integration
- Fix tensorboard_sync with tensorboardX and tf1
- Fix issues logging images with slashes
- Fix custom charts issues
- Improve error messages using
wandb pull
- Improve error messages with
wandb.Table()
- Make sure silent mode is silent
- Fix
wandb online
to renable logging - Multiple artifact fixes
- Add Artifact.used_by and Artifact.logged_by
- Validate type consistency when logging Artifacts
- Enhance JoinedTable to not require downloaded assets
- Add ability to recursively download dependent artifacts
- Enable gradient logging with keras and tf2+
- Validate pytorch models are passed to wandb.watch()
- Improved docstrings for public methods / objects
- Warn when image sequences are logged with different sizes
- Fix incorrectly generated filenames in summary
- Fix anonymous mode to include the api key in URLs
- Fix pickle issue with disabled mode
- Fix artifact from_id query
- Fix handling of Tables with different image paths
- Disable wandb logging with
wandb disabled
orwandb.init(mode="disabled")
- Support cloning an artifact when logging wandb.Image()
- Multiple media artifact improvements and internal refactor
- Improve handling of artifact errors
- Fix issue where notebook name was ignored
- Extend silent mode for jupyter logging
- Fix issue where vendored libraries interfered with python path
- Fix various exceptions (divide by zero, int conversion, TypeError)
- Added confusion matrix plot
- Better jupyter messages with wandb.init()/reinit/finish
- Fix for fastai 2.1.5 (removed log_args)
- Fixed media logging when directories are changed
- Added artifact media logging (alpha)
- Add scriptable alerts
- Add url attribute for sweep public api
- Update docstrings for wandb sdk functions
- Fix cases where offline mode was making network connections
- Fix issues with python sweeps and run stopping
- Fix logging issue where we could accidently display an api key
- Fix wandb login issues with malformed hosts
- Allow wandb.restore() to be called without wandb.init()
- Fix resuming (reusing run_id) with empty summary
- Fix artitifact download issue
- Add missing wandb.unwatch() function
- Avoid creating spurious wandb directories
- Fix collections import issue when using an old version of six
- Allow callables to be serialized
- Fix compatibility issue with python 3.9
- Fix
wandb sync
failure introduced in 0.10.6 - Improve python agent handling of failing runs
- Fix rare condition where resuming runs does not work
- Improve symlink handling when called in thread context
- Fix issues when changing directories before calling wandb.init()
- Fix issue when checking for updated releases on pypi
- Make sure code saving is enabled in jupyter environments after login
- Sweep agents have extended timeout for large sweep configs
- Support WANDB_SILENT environment variable
- Warn about missing python package when logging images
- Fix wandb.restore() to apply diff patch
- Improve artifact error messages
- Fix loading of config-defaults.yaml and specified list of yaml config files
- Add new custom plots:
wandb.plot.*
- Add new python based sweep agent:
wandb.agent()
- Console log fixes (tqdm on windows, fix close exceptions)
- Add more attributes to the Run object (group, job_type, urls)
- Fix sagemaker login issues
- Fix issue where plots were not uploaded until the end of run
- Fix an issue where wandb.init(allow_val_change=) throws exception
- Added warning when trying to sync pre 0.10.0 run dirs
- Improved jupyter support for wandb run syncing information
- Fix artifact download issues
- Fix multiple issues with tensorboard_sync
- Fix multiple issues with juypter/python sweeps
- Fix issue where login was timing out
- Fix issue where config was overwritten when resuming runs
- Ported sacred observer to 0.10.x release
- Fix predicted bounding boxes overwritten by ground truth boxes
- Add missing save_code parameter to wandb.init()
- Added upload_file to API
- wandb.finish() can be called without matching wandb.init()
- Fix issue where files were being logged to wrong parallel runs
- Fix missing properties/methods -- as_dict(), sweep_id
- Fix wandb.summary.update() not updating all keys
- Code saving was not properly enabled based on UI settings
- Tensorboard now logging images before end of program
- Fix resume issues dealing with config and summary metrics
- Added sync_tensorboard ability to handle S3 and GCS files
- Added ability to specify host with login
- Improved artifact API to allow modifying attributes
- Fix codesaving to respect the server settings
- Fix issue runing wandb.init() on restricted networks
- Fix issue where we were ignoring settings changes
- Fix artifact download issues
- Added history sparklines at end of run
- Artifact improvements and API for linking
- Improved offline support and syncing
- Basic noop mode support to simplify testing
- Improved windows/pycharm support
- Run object has more modifiable properties
- Public API supports attaching artifacts to historic runs
- Many bugs fixed due to simplifying logic
- New sacred observer available at wandb.sacred.WandbObserver
- Improved artifact reference tracking for HTTP urls
- Print meaningful error message when runs are queried with
summary
instead ofsummary_metrics
- Sub paths of artifacts now expose an optional root directory argument to download()
- Artifact.new_file accepts an optional mode argument
- Removed legacy fastai docs as we're now packaged with fastai v2!
- Fix yaml parsing error handling logic
- Bad spelling in torch docstring, thanks @mkkb473
- Remove unused y_probas in sklearn plots, thanks @dreamflasher
- New deletion apis for artifacts
- Fix
wandb restore
when not logged in - Fix artifact download paths on Windows
- Retry 408 errors on upload
- Fix mask numeric types, thanks @numpee
- Fix artifact reference naming mixup
- Default pytorch histogram logging frequency from 100 -> 1000 steps
- Fix multiple prompts for login when using the command line
- Fix "no method rename_file" error
- Fixed edgecase histogram calculation in PyTorch
- Fix error in jupyter when saving session history
- Correctly return artifact metadata in public api
- Fix matplotlib / plotly rendering error
- New artifact cli commands!
wandb artifact put path_file_or_ref
wandb artifact get artifact:version
wandb artifact ls project_name
- New artifact api commands!
wandb.log_artifact()
wandb.use_artifact()
wandb.Api().artifact_versions()
wandb.Api().run.used_artifacts()
wandb.Api().run.logged_artifacts()
wandb.Api().Artifact().file()
- Improved syncing of large wandb-history.jsonl files for wandb sync
- New Artifact.verify method to ensure the integrity of local artifacts
- Better testing harness for api commands
- Run directory now store local time instead of utc time in the name, thanks @aiyolo!
- Improvements to our doc strings across the board.
- wandb.Table now supports a
dataframe
argument for logging dataframes as tables!
- Artifacts work in python2
- Artifacts default download locations work in Windows
- GCS references now properly cache / download, thanks @yoks!
- Fix encoding of numpy arrays to JSON
- Fix string comparison error message
- Major overhaul of artifact caching
- Configurable cache directory for artifacts
- Configurable download directory for artifacts
- New Artifact.verify method to ensure the integrity of local artifacts
- use_artifact no longer requires
type
- Deleted artifacts can now be be recommitted
- Lidar scenes now support vectors
- Fix issue with artifact downloads returning errors.
- Segmentation masks now handle non-unint8 data
- Fixed path parsing logic in
api.runs()
- Fix issue where files were always logged to latest run in a project.
- Fix issue where url was not display url on first call to wandb.init
- Handle multiple inits in Jupyter
- Handle ValueError's when capturing signals, thanks @jsbroks
- wandb agent handles rate limiting properly
- wandb.Artifact is now generally available!
- feature_importances now supports CatBoost, thanks @neomatrix369
- Catch all exceptions when saving Jupyter sessions
- validation_data automatically set in TF >= 2.2
- implements* hooks now implemented in keras callback for TF >= 2.2
- Raw source code saving now disabled by default
- We now support global settings on boot to enable code saving on the server
- New
code_save=True
argument to wandb.init to enable code saving manually
- Ensure cells don't hang on completion
- Fixed jupyter integration in PyCharm shells
- Made session history saving handle None metadata in outputs
- Save session history in jupyter notebooks
- Kaggle internet enable notification
- Extend wandb.plots.feature_importances to work with more model types, thanks @neomatrix369!
- Code saving for jupyter notebooks restored
- Fixed thread errors in jupyter
- Ensure final history rows aren't dropped in jupyter
- Add default class labels for semantic segmentation
- Enhance bounding box API to be similar to semantic segmentation API
- Increase media table rows to improve ROC/PR curve logging
- Fix issue where pre binned histograms were not being handled properly
- Handle nan values in pytorch histograms
- Fix handling of binary image masks
- Improve semantic segmentation image mask logging
- Close all open files to avoice ResourceWarnings, thanks @CrafterKolyan!
- Parse "tensor" protobufs, fixing issues with tensorboard syncing in 2.1
- Add ROC, precision_recall, HeatMap, explainText, POS, and NER to wandb.plots
- Add wandb.Molecule() logging
- Capture kaggle runs for metrics
- Add ability to watch from run object
- Avoid accidently picking up global debugging logs
- Improve bounding box annotations
- Log active GPU system metrics
- Only writing wandb/settings file if wandb init is called
- Improvements to wandb local command
- Fix GPU logging on some devices without power metrics
- Fix sweep config command handling
- Fix tensorflow string logging
- Added code saving of main python module
- Added ability to specify metadata for bounding boxes and segmentation masks
- Fix situations where uncommited data from wandb.log() is not persisted
- Fix dependency conflict with new versions of six package
- Add best metric and epoch to run summary with Keras callback
- Added wandb.run.config_static for environments required pickled config
- Fixed regression causing failures with wandb.watch() and DataParallel
- Improved compatibility with python 3.8
- Fix model logging under windows
- Fix exception when using wandb.watch() in a notebook
- Improve support for sparse tensor gradient logging on GPUs
- Relax version dependancy for PyYAML for users with old environments
- Added scikit-learn support
- Added ability to specify/exclude specific keys when building wandb.config
- Fix wandb.watch() on sparse tensors
- Fix incompatibilty with ray 0.8.1
- Fix missing pyyaml requirement
- Fix "W&B process failed to launch" problems
- Improved ability to log large model graphs and plots
- Added ability to configure agent commandline from sweep config
- Fix fast.ai prediction logging
- Fix logging of eager tensorflow tensors
- Fix jupyter issues with logging notebook name and wandb.watch()
- Ignore wandb.init() specified project and entity when running a sweep
- Fix agent "flapping" detection
- Fix local controller not starting when sweep is pending
- Added support for LightGBM
- Added local board support (Experimental)
- Added ability to modify sweep configuration
- Added GPU power logging to system metrics
- Prevent sweep agent from failing continously when misconfigured
- Added beta support for ray/tune hyperopt search strategy
- Added ability to specify max runs per agent
- Improve experience starting a sweep without a project already created
- Fix repeated wandb.Api().Run(id).scan_history() calls get updated data
- Fix early_terminate/hyperband in notebook/python environments
- Added min_step and max_step to run.scan_history for grabbing sub-sections of metrics
- wandb.init(reinit=True) now automatically calls wandb.join() to better support multiple runs per process
- wandb.init(sync_tensorboard=True) works again for TensorFlow 2.0
- Handle tags being passed in as a string
- Pin graphql-core < 3.0.0 to fix install errors
- TQDM progress bars update logs properly
- Oversized summary or history logs are now dropped which prevents retry hanging
- Fix regression syncing some versions of Tensorboard since 0.8.13
- Fix network error in Jupyter
- Fix calling wandb.init with sync_tensorboard multiple times in Jupyter
- Fix RuntimeError race when using threads and calling wandb.log
- Don't initialize Sentry when error reporting is disabled
- Added best_run() to wandb.sweep() public Api objects
- Remove internal tracking keys from wandb.config objects in the public Api
- Improve large object warning when values reach maximum size
- Warn when wandb.save isn't passed a string
- Run stopping from the UI works since regressing in 0.8.12
- Restoring a file that already exists locally works
- Fixed TensorBoard incorrectly placing some keys in the wrong step since 0.8.10
- wandb.Video only accepts uint8 instead of incorrectly converting to floats
- SageMaker environment detection is now more robust
- Resuming correctly populates config
- wandb.restore respects root when run.dir is set #658
- Calling wandb.watch multiple times properly namespaces histograms and graphs
- Sweeps now work in Windows!
- Added sweep attribute to Run in the public api
- Added sweep link to Jupyter and terminal output
- TensorBoard logging now stores proper timestamps when importing historic results
- TensorBoard logging now supports configuring rate_limits and filtering event types
- Use simple output mirroring stdout doesn't have a file descriptor
- Write wandb meta files to the system temp directory if the local directory isn't writable
- Added beta api.reports to the public API
- Added wandb.unwatch to remove hooks from pytorch models
- Store the framework used in config._wandb
- Create nested directory when videos are logged from tensorboard namespaces
- Fix race when using wandb.log
async=True
- run.summary acts like a proper dictionary
- run.summary sub dictionaries properly render
- handle None when passing class_colors for segmentation masks
- handle tensorflow2 not having a SessionHook
- properly escape args in windows
- fix hanging login when in anonymode
- tf2 keras patch now handles missing callbacks args
- Updates documentation autogenerated from docstrings in /docs
- wandb.init(config=config_dict) does not update sweep specified parameters
- wandb.config object now has a setdefaults method enabling improved sweep support
- Improved terminal and jupyter message incorporating 🚀 emojii!
- Allow wandb.watch to be called multiple times on different models
- Improved support for watching multple tfevent files
- Windows no longer requires
wandb run
simply runpython script_name.py
wandb agent
now works on windows.- Nice error message when wandb.log is called without a dict
- Keras callback has a new
log_batch_frequency
for logging metrics every N batches
- Fix compatibility issue with python 2.7 and old pip dependencies
- Improved onboarding flow when creating new accounts and entering api_key
- Fix public api returning incorrect data when config value is 0 or False
- Resumed runs no longer overwrite run names with run id
- Added recording of spell.run id in config
- wandb magic handles the case of tf.keras and keras being loaded
- tensorboard logging won't drop steps if multiple loggers have different global_steps
- keras gradient logging works in the latest tf.keras
- keras validation_data is properly set in tensorflow 2
- wandb pull command creates directories if they don't exist, thanks @chmod644
- file upload batching now asserts a minimum size
- sweeps works in python2 again
- scan_history now iterates the full set of points
- jupyter will run local mode if credentials can't be obtained
- Sweeps can now be run from within jupyter / directly from python! https://docs.wandb.com/sweeps/python
- New openai gym integration will automatically log videos, enabled with the monitor_gym keyword argument to wandb.init
- Ray Tune logging callback in wandb.ray.WandbLogger
- New global config file in ~/.config/wandb for global settings
- Added tests for fastai, thanks @borisdayma
- Public api performance enhancements
- Deprecated username in favor of enitity in the public api for consistency
- Anonymous login support enabled by default
- New wandb.login method to be used in jupyter enabling anonymous logins
- Better dependency error messages for data frames
- Initial integration with spell.run
- All images are now rendered as PNG to avoid JPEG artifacts
- Public api now has a projects field
- run.summary updates work in jupyter before log is called
- don't require numpy to be installed
- Setting nested keys in summary works
- notebooks in nested directories are properly saved
- Don't retry 404's / better error messaging from the server
- Strip leading slashes when loading paths in the public api
- Small files are batch uploaded as gzipped tarballs
- TensorBoardX gifs are logged to wandb
- wandb.init properly handles network failures on startup
- Keras callback only logs examples if data_type or input_type is set
- Fix edge case PyTorch model logging bug
- Handle patching tensorboard multiple times in jupyter
- Sweep picks up config.yaml from the run directory
- Dataframes handle integer labels
- Handle invalid JSON when querying jupyter servers
- fastai uses a fixed seed for example logging
- increased the max number of images for fastai callback
- new wandb.Video tag for logging video
- sync=False argument to wandb.log moves logging to a thread
- New local sweep controller for custom search logic
- Anonymous login support for easier onboarding
- Calling wandb.init multiple times in jupyter doesn't error out
- keras callback no longer guesses input_type for 2D data
- wandb.Image handles images with 1px height
- wandb Public API now has
run.scan_history
to return all history rows - wandb.config prints helpful errors if used before calling init
- wandb.summary prints helpful errors if used before calling init
- filestream api points to new url on the backend
- fastai callback uses the default monitor instead of assuming val_loss
- notebook introspections handles error cases and doesn't print stacktrace on failure
- Don't print description warning when setting name
- Fixed dataframe logging error with the keras callback
- Fixed line offsets in logs when resuming runs
- wandb.config casts non-builtins before writing to yaml
- vendored backports.tempfile to address missing package on install
- Added
api.sweep
to the python export api for querying sweeps - Added
WANDB_NOTEBOOK_NAME
for specifying the notebook name in cases we can't infer it - Added
WANDB_HOST
to override hostnames - Store if a run was run within jupyter
- Client now supports stopping runs from the web ui
- Handle floats passed as step to
wandb.log
- wandb.config has full unicode support
- sync the main file to wandb if code saving is enabled and it's untracked by git
- XGBoost callback: wandb.xgboost.wandb_callback()
- Fixed plotly charts with large numpy arrays not rendering
wandb docker
works when nvidia is present- Better error when non string keys are sent to log
- Relaxed pyyaml dependency to fix AMI installs
- Magic works in jupyter notebooks.
- New preview release of auto-dataframes for Keras
- Added input_type and output_type to the Keras callback for simpler config
- public api supports retrieving specific keys and custom xaxis
- WANDB_IGNORE_GLOBS is respected on the final scan of files
- Unified run.id, run.name, and run.notes across all apis
- Handle funky terminal sizes when setting up our psuedo tty
- Fixed Jupyter notebook introspection logic
- run.summary.update() persists changes to the server
- tensorboard syncing is robust to invalid histograms and truncated files
- preview release of magic, calling wandb.init(magic=True) should automatically track config and metrics when possible
- cli now supports local installs of the backend
- fastai callback supports logging example images
- image logging works in Windows
- wandb sync handles tfevents with a single timestep
- fix incorrect command in overview page for running runs
- handle histograms with > 512 bins when streaming tensorboard
- better error message when calling wandb sync on a file instead of a directory
- new helper function for handling hyperparameters in sweeps
wandb.config.user_items()
- better mocking for improved testing
- entity is persisted on wandb.run when queried from the server
- tmp files always use the temporary directory to avoid syncing
- raise error if file shrinks while uploading
- images log properly in windows
- upgraded pyyaml requirement to address CVE
- no longer store a history of rows to prevent memory leak
- summary now supports new dataframe format
- WANDB_SILENT environment variable writes all wandb messages to debug.log
- Improved error messages for windows and tensorboard logging
- output.log is uploaded at the end of each run
- metadata, requirements, and patches are uploaded at the beginning of a run
- when not running from a git repository, store the main python file
- added WANDB_DISABLE_CODE to prevent diffing and code saving
- when running in jupyter store the name of the notebook
- auto-login support for colab
- store url to colab notebook
- store the version of this library in config
- store sys.executable in metadata
- fastai callback no longer requires path
- wandb.init now accepts a notes argument
- The cli replaced the message argument with notes and name
- wandb sync handles tensorboard embeddings
- wandb sync correctly handles images in tensorboard
- tf.keras correctly handles single input functional models
- wandb.Api().runs returns an iterator that's reusable
- WANDB_DIR within a hidden directory doesn't prevent syncing
- run.files() iterates over all files
- pytorch recurssion too deep error
- wandb sync accepts an --ignore argument with globs to skip files
- run.summary now has an items() method for iterating over all keys
- Better error messages on access denied
- Better error messages when optional packages aren't installed
- Urls printed to the termial are url-escaped
- Namespaced tensorboard events work with histograms
- Public API now retries on failures and re-uses connection pool
- Catch git errors when remotes aren't pushed to origin
- Moved keras graph collection to on_train_begin to handle unbuilt models
- Handle more cases of not being able to save weights
- Updates to summary after resuming are persisted
- PyTorch histc logging fixed in 0.4.1
- Fixed
wandb sync
tensorboard import
- wandb.init(tensorboard=True) works with Tensorflow 2 and Eager Execution
- wandb.init(tensorboard=True) now works with tb-nightly and PyTorch
- Automatically log examples with tf.keras by adding missing validation_data
- Socket only binds to localhost for improved security and prevents firewall warnings in OSX
- Added user object to public api for getting the source user
- Added run.display_name to the public api
- Show display name in console output
- Added --tags, --job_group, and --job_type to
wandb run
- Added environment variable for minimum time to run before considering crashed
- Added flake8 tests to CI, thanks @cclauss!
- wandb-docker-run accepts image digests
- keras callback works in tensorflow2-alpha0
- keras model graph now puts input layer first
- PyTorch log frequency added for gradients and weights
- PyTorch logging performance enhancements
- wandb.init now accepts a name parameter for naming runs
- wandb.run.name reflects custom display names
- Improvements to nested summary values
- Deprecated wandb.Table.add_row in favor of wandb.Table.add_data
- Initial support for a fast.ai callback thanks to @borisdayma!
- run.get_url resolves the default entity if one wasn't specified
- wandb restore accepts run paths with only slashes
- Fixed PyYaml deprecation warnings
- Added entrypoint shell script to manifest
- Strip newlines from cuda version
- handle case insensitive docker credentials
- fix app_url for private cloud login flow
- don't retry 404's when starting sweep agents
- ensure DNS lookup failures can't prevent startup
- centralized debug logging
- wandb agent waits longer to send a SIGKILL after sending SIGINT
- support for logging docker images with the WANDB_DOCKER env var
- WANDB_DOCKER automatically set when run in kubernetes
- new wandb-docker-run command to automatically set env vars and mount code
- wandb.restore supports launching docker for runs that ran with it
- python packages are now recorded and saved in a requirements.txt file
- cpu_count, gpu_count, gpu, os, and python version stored in wandb-metadata.json
- the export api now supports docker-like paths, i.e. username/project:run_id
- better first time user messages and login info
- Improve error reporting for sweeps
- fixed Jupyter logging, don't change logger level
- fixed resuming in Jupyter
- wandb.init now degrades gracefully if a user hasn't logged in to wandb
- added a force flag to wandb.init to require a machine to be logged in
- Tensorboard and TensorboardX logging is now automatically instrumented when enabled
- added a tensorboard to wandb.init which patches tensorboard for logging
- wandb.save handles now accepts a base path to files in sub directories
- wandb.tensorflow and wandb.tensorboard can now be accessed without directly importing
wandb sync
will now traverse a wandb run directory and sync all runs
- Fixed race where wandb process could hang at the end of a run
- Fix resuming in Jupyter on kernel restart
- wandb.save ensures files are pushed regardless of growth
- Added replace=True keyword to init for auto-resuming
- New run.resumed property that can be used to detect if we're resuming
- New run.step property to use for setting an initial epoch on resuming
- Made Keras callback save the best model as it improves
- Really don't require numpy
- Better error message if wandb.log is called before wandb.init
- Prevent calling wandb.watch multiple times
- Handle datetime attributes in logs / plotly
- Add environment to sweeps
- Enable tagging in the public API and in wandb.init
- New media type wandb.Html for logging arbitrary html
- Add Public api.create_run method for custom integrations
- Added glob support to wandb.save, files save as they're written to
- Added wandb.restore for pulling files on resume
- Added a timeout for generating diffs on large repos
- Fixed edge case where file syncing could hang
- Ensure all file changes are captured before exit
- Handle cases of sys.exit where code isn't passed
- Don't require numpy
- New
wandb sync
command that pushes a local directory to the cloud - Support for syncing tfevents file during training
- Detect when running as TFJob and auto group
- New Kubeflow module with initial helpers for pipelines
- Fixed history / summary bug
- Initial support for AWS SageMaker
hook_torch
renamed towatch
with a deprecation warning- Projects are automatically created if they don't exist
- Additional GPU memory_allocated metric added
- Keras Graph stores edges
- PyTorch graph parsing is more robust
- Fixed PyTorch 0.3 support
- File download API supports WANDB_API_KEY authentication
- Sweeps work with new backend (early release).
- Summary tracks all history metrics unless they're overridden by directly writing to summary.
- Files support in data API.
- Show ongoing media file uploads in final upload progress.
- wandb.Audio supports duration
- Pass username header in filestream API
- New wandb.Audio data type.
- New step keyword argument when logging metrics
- Ability to specify run group and job type when calling wandb.init() or via environment variables. This enables automatic grouping of distributed training runs in the UI
- Ability to override username when using a service account API key
- Handle non-tty environments in Python2
- Handle non-existing git binary
- Fix issue where sometimes the same image was logged twice during a Keras step
- PyTorch
- Added a new
wandb.hook_torch
method which records the graph and logs gradients & parameters of pytorch models wandb.Image
detects pytorch tensors and uses torchvision.utils.make_grid to render the image.
- Added a new
wandb restore
handles the case of not being run from within a git repo.
- We now open stdout and stderr in raw mode in Python 2 ensuring tools like bpdb work.
- Catastrophic errors are now reported to Sentry unless WANDB_ERROR_REPORTING is set to false
- Improved error handling and messaging on startup
- The first image when calling wandb.log was not being written, now it is
wandb.log
andrun.summary
now remove whitespace from keys
- Vendored prompt_toolkit < 1.0.15 because the latest ipython is pinned > 2.0
- Lazy load wandb.h5 only if
summary
is accessed to improve Data API performance
- Jupyter
- Deprecated
wandb.monitor
in favor of automatically starting system metrics after the first wandb.log call - Added new %%wandb jupyter magic method to display live results
- Removed jupyter description iframe
- Deprecated
- The Data API now supports
per_page
andorder
options to theapi.runs
method - Initial support for wandb.Table logging
- Initial support for matplotlib logging