Coder Social home page Coder Social logo

simonblanke / progressboard Goto Github PK

View Code? Open in Web Editor NEW
3.0 3.0 0.0 2.95 MB

Add on for Hyperactive package to visualize progress of optimization run.

License: MIT License

Makefile 0.96% Python 99.04%
dashboard panel hyperparameter-optimization hyperactive visualization

progressboard's Introduction

Progress Board

img not loaded: try F5 :) img not loaded: try F5 :)

An addon for the Hyperactive package to visualize the progress of optimization runs.


The Progress Board is a dashboard (opens in webbrowser) that provides visualization of live-updated data from Hyperactive. It integrates seamlessly with Hyperactive (v4) and opens up the optimization run with useful information. It also supports multiprocessing and multiple searches at the same time without any added complexity or work for the user.

The Progress Board should be used for computationally expensive objective functions (like machine-/deep-learning models).

The Progress Board is tested in Ubuntu, but Windows support maybe added in the future.


State of project

This project is in an early development stage. If you encounter a problem it would be very helpful to open an issue and describe it in detail.


Installation

pip install hyperactive-progress-board

Example

from sklearn.model_selection import cross_val_score
from sklearn.tree import DecisionTreeRegressor
from sklearn.datasets import fetch_california_housing

from hyperactive import Hyperactive
from hyperactive_progress_board import ProgressBoard # import progress board

data = fetch_california_housing()
X, y = data.data, data.target

progress = ProgressBoard() # init progress board


@progress.update # add decorator
def dtr_model(opt):
    dtr = DecisionTreeRegressor(
        min_samples_split=opt["min_samples_split"],
    )
    scores = cross_val_score(dtr, X, y, cv=5)
    return scores.mean()


search_space = {
    "max_depth": list(range(2, 50)),
    "min_samples_split": list(range(2, 50)),
    "min_samples_leaf": list(range(1, 50)),
}

progress.open() # open progress board before run begins

hyper = Hyperactive()
hyper.add_search(dtr_model, search_space, n_iter=1000)
hyper.run()

FAQ

Command line opens and closes immediately

This happens because of the command line of a previous run of the progress-board is still running. Close the command-line from the previous run to start a new one.

progressboard's People

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

progressboard's Issues

Current state of progress-board

After coming back to this project after some time I feel, the source-code is still in an experimental phase:

  • Most of the code-base is not tested
  • The installation via pip seems unreliable. Conda is needed for reliable usage.

I will look into a better way to run the progress-board in parallel to the optimization run and how to test this GUI via selenium. I am also thinking of using plotly-dash instead of panel in the future, because panel seems very tied to conda.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.