SciML / SciML/Optimization.jl

Add visualization tooling / plot recipes

Open
#80 1 comment 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Julia
Stars
839
Forks
100
Avg merge
20h 43m
Merged PRs (30d)
38

Description

FluxOptTools allows visualizing loss when using Optim.jl. There's also some integration between Optim and TensorBoardLogger. Neither of these integrations can be directly used when using GalacticOptim in place of Optim. It seems like a first step would be add similar integrations / recipes for GalacticOptim.

As a first pass, I got TensorBoardLogger to plot loss with the following callback:

function make_tb_cb(name="")
    logger = TBLogger(logdir, tb_overwrite)
    function callback(p, l)
        with_logger(logger) do
            @info "$(name)" loss=l
        end
        return false
    end
    return callback
end

maxiters=100
GalacticOptim.solve(prob, Optim.BFGS(); cb=make_tb_cb("BFGS-$(maxiters)"), maxiters=maxiters)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the GalacticOptim.solve callback shown in the issue, then compare the visualization integrations in FluxOptTools and TensorBoardLogger. Define which plotting recipes or integrations GalacticOptim should support and verify that loss can be visualized through the resulting interface.

Written by the indexing model from the issue text.

Assessment

Tech stack
julia
Domain
data-visualization
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.