Unoffical logging for neptune.ai in julia. Pull requests welcome.
Set your Neptune API Token (this just sets the ENV[NEPTUNE_API_TOKEN]
variable). For example use provided anonymous api token
set_api_token(anonymous_api_token())
Create a logger. See the Neptune api for more information.
lg = NeptuneLogger(project="acorso/Test")
Log a single value (e.g. hyperparameters)
lg["FloatExample"] = 0.9
lg["StringExample"] = "this is a test"
Log multiple values in sequence to the same variable name (e.g. for metrics)
push!(lg, "accuracy", 0.1)
push!(lg, "accuracy", 0.2)
push!(lg, "accuracy", 0.3)
Upload a single file that has been saved to disk via filepath
heatmap(rand(10, 10))
savefig("test.png")
upload(lg, "ImageExample", "test.png")
Files can be uploaded sequentially as well via filepaths. Requires pushing objects of type File
.
for i=1:3
heatmap(rand(10, 10))
savefig("test$i.png")
push!(lg, "v5", File("test$i.png"))
end
Upload a bunch of files in one fell swoop. Suppose we had a folder outputs/
, then to upload the contents of that folder call
upload_files(lg, "v6", "outputs")
When finished, close the logger:
close(lg)
A backend for FluxTraining.jl is implemented as an extension. See examples/flux_training_example.jl
to see how this is used.
This package was inspired by Wandb.jl.