API Reference
Core Functionalities
For a lot of these functions, the official WanDB docs can provide more comprehensive details.
WandbLogger(; project, name=nothing, min_level=Info, step_increment=1,
start_step=0, kwargs...)
Create a WandbLogger that logs to the wandb project project
. See the documentation for wandb.init
for more details (also accessible in the Julia REPL using ? Wandb.wandb.init
).
increment_step!(lg::WandbLogger, Δstep)
Increment the global step by Δstep
and return the new global step.
update_config!(lg::WandbLogger, dict::Dict; kwargs...)
For more details checkout wandb.config
(or ? Wandb.wandb.config
in the Julia REPL).
get_config(lg::WandbLogger)
Return the current config dict.
get_config(lg::WandbLogger, key::String)
Get the value of key
from the config.
save(lg::WandbLogger, args...; kwargs...)
Ensure all files matching glob_str
are synced to wandb with the policy specified. For more details checkout wandb.save
(or ? Wandb.wandb.save
in the Julia REPL).
version()
Return the Wandb python client version number (i.e., Wandb.wandb.__version__
).
log(lg::WandbLogger, logs::Dict; kwargs...)
For more details checkout wandb.log
(or ? Wandb.wandb.log
in the Julia REPL).
logable_propertynames(val::Any)
Returns a tuple with the name of the fields of the structure val
that should be logged to Wandb. This function should be overridden when you want Wandb to ignore some fields in a structure when logging it. The default behaviour is to return the same result as propertynames
.
See also: Base.propertynames
close(lg::WandbLogger; kwargs...)
Terminate the current run. For more details checkout wandb.finish
(or ? Wandb.wandb.finish
in the Julia REPL).
Plotting
plot_line(table::wandb.Table, x::String, y::String, stroke::String, title::String)
Construct a line plot.
Arguments:
table (wandb.Table): Table of data.
x (string): Name of column to as for x-axis values.
y (string): Name of column to as for y-axis values.
stroke (string): Name of column to map to the line stroke scale.
title (string): Plot title.
Returns:
A plot object, to be passed to Wandb.log()
plot_scatter(table::Py, x::String, y::String, title::String)
Construct a scatter plot.
Arguments:
table (wandb.Table): Table of data.
x (string): Name of column to as for x-axis values.
y (string): Name of column to as for y-axis values.
title (string): Plot title.
Returns:
A plot object, to be passed to Wandb.log()
plot_histogram(table::Py, value::String, title::String)
Construct a histogram plot.
Arguments:
table (wandb.Table): Table of data.
value (string): Name of column to use as data for bucketing.
title (string): Plot title.
Returns:
A plot object, to be passed to Wandb.log()
plot_bar(table::Py, label::String, value::String, title::String)
Construct a bar plot.
Arguments:
table (wandb.Table): Table of data.
label (string): Name of column to use as each bar's label.
value (string): Name of column to use as each bar's value.
title (string): Plot title.
Returns:
A plot object, to be passed to Wandb.log()
plot_line_series(xs::AbstractVecOrMat, ys::AbstractMatrix, keys::AbstractVector,
title::String, xname::String)
Construct a line series plot.
Arguments:
xs (AbstractMatrix or AbstractVector): Array of arrays of x values
ys (AbstractMatrix): Array of y values
keys (AbstractVector): Array of labels for the line plots
title (string): Plot title.
xname (string): Title of x-axis
Returns:
A plot object, to be passed to Wandb.log()
Note
We don't provide direct bindings for the other plotting functions. PRs implementing these are welcome.
Loggable Objects
Image(img::AbstractArray{T, 3}; kwargs...)
Image(img::AbstractMatrix; kwargs...)
Image(img::Union{String, IO}; kwargs...)
Creates a wandb.Image
object that can be logged using Wandb.log
. For more details checkout wandb.Image
(or ? Wandb.wandb.Image
in the Julia REPL).
Video(vid::AbstractArray{T, 5}; kwargs...)
Video(vid::AbstractArray{T, 4}; kwargs...)
Video(vid::Union{String, IO}; kwargs...)
Creates a wandb.Video
object that can be logged using Wandb.log
. For more details checkout wandb.Video
(or ? Wandb.wandb.Video
in the Julia REPL).
Wandb.Histogram(args...; kwargs...)
Creates a wandb.Histogram
object that can be logged using Wandb.log
. For more details checkout wandb.Histogram
(or ? Wandb.wandb.Histogram
in the Julia REPL).
Object3D(path_or_io::Union{String, IO})
Object3D(data::AbstractMatrix)
Creates a wandb.Object3D
object that can be logged using Wandb.log
. For more details checkout wandb.Object3D
(or ? Wandb.wandb.Object3D
in the Julia REPL).
Table(; data::AbstractMatrix, columns::AbstractVector)
Creates a wandb.Table
object that can be logged using Wandb.log
. For more details checkout wandb.Table
(or ? Wandb.wandb.Table
in the Julia REPL).
Note
Currently we don't support passing DataFrame to the Table. (PRs implementing this are welcome)
Artifacts
WandbArtifact(args...; kwargs...)
WandbArtifact is a wrapper around wandb.Artifact
. See the documentation for wandb.Artifact
for the different functionalities. Most of the functions can be called using Wandb.<function name>(::WandbArticact, args...; kwargs...)
.
Hyper Parameter Sweep
WandbHyperParameterSweep()
Create a Wandb Hyperparameter Sweep. Unlike the wandb.agent
API, this API needs to be manually combined with some Hyper Parameter Optimization package like HyperOpt.jl
.
See the tutorials for more details.
Index
Wandb.WandbArtifact
Wandb.WandbHyperParameterSweep
Wandb.WandbLogger
Base.close
Wandb.Histogram
Wandb.Image
Wandb.Object3D
Wandb.Table
Wandb.Video
Wandb.get_config
Wandb.increment_step!
Wandb.log
Wandb.logable_propertynames
Wandb.plot_bar
Wandb.plot_histogram
Wandb.plot_line
Wandb.plot_line_series
Wandb.plot_scatter
Wandb.save
Wandb.update_client
Wandb.update_config!
Wandb.version