All Projects → WarBean → Hyperboard

WarBean / Hyperboard

Licence: mit
A web-based dashboard for Deep Learning

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Hyperboard

Windmill Dashboard React
❄ A multi theme, completely accessible, ready for production dashboard.
Stars: ✭ 283 (-15.77%)
Mutual labels:  dashboard
Flask jsondash
🐍 📊 📈 Build complex dashboards without any front-end code. Use your own endpoints. JSON config only. Ready to go.
Stars: ✭ 3,215 (+856.85%)
Mutual labels:  dashboard
Tplink Energy Monitor
An energy monitoring dashboard for TP-Link smart plugs
Stars: ✭ 316 (-5.95%)
Mutual labels:  dashboard
Metatron Discovery
Powerful & Easy way for big data discovery
Stars: ✭ 297 (-11.61%)
Mutual labels:  dashboard
Dashboard Nvim
vim dashboard
Stars: ✭ 294 (-12.5%)
Mutual labels:  dashboard
Nepadmin
nepadmin 单页面后台模版,基于 layui 2.4.0
Stars: ✭ 309 (-8.04%)
Mutual labels:  dashboard
Balena Dash
Build a Raspberry Pi based desktop dashboard for stats, photos, videos and more!
Stars: ✭ 292 (-13.1%)
Mutual labels:  dashboard
Memeye
👀 The eye of memory. A lightweight memory monitor and dashboard for Node.js application on development.
Stars: ✭ 332 (-1.19%)
Mutual labels:  dashboard
Carbon
Elegant Bootstrap 4 Admin Template
Stars: ✭ 309 (-8.04%)
Mutual labels:  dashboard
Organizr
HTPC/Homelab Services Organizer - Written in PHP
Stars: ✭ 3,605 (+972.92%)
Mutual labels:  dashboard
Light Bootstrap Dashboard Angular2
Light Bootstrap Dashboard Angular 2
Stars: ✭ 299 (-11.01%)
Mutual labels:  dashboard
Shinydashboardplus
extensions for shinydashboard
Stars: ✭ 304 (-9.52%)
Mutual labels:  dashboard
Hangfire.console
Job console extension for Hangfire
Stars: ✭ 309 (-8.04%)
Mutual labels:  dashboard
Covid19
an interactive, animated COVID-19 coronavirus map to track the outbreak over time by country and by region for selected countries
Stars: ✭ 295 (-12.2%)
Mutual labels:  dashboard
Redmine dashboard
This redmine plugin adds an issue dashboard that supports drag and drop for issues and support various filters and groups.
Stars: ✭ 322 (-4.17%)
Mutual labels:  dashboard
Django Jet
Modern responsive template for the Django admin interface with improved functionality. We are proud to announce completely new Jet. Please check out Live Demo
Stars: ✭ 3,207 (+854.46%)
Mutual labels:  dashboard
Coreui Free React Admin Template
CoreUI React is a free React admin template based on Bootstrap 5
Stars: ✭ 3,573 (+963.39%)
Mutual labels:  dashboard
Personal Dashboard
📊 Programmatically collecting and reporting various stats about myself daily
Stars: ✭ 333 (-0.89%)
Mutual labels:  dashboard
Davinci
Davinci is a DVsaaS (Data Visualization as a Service) Platform
Stars: ✭ 3,997 (+1089.58%)
Mutual labels:  dashboard
Xboot
基于Spring Boot 2.x的一站式前后端分离快速开发平台XBoot 微信小程序+Uniapp 前端:Vue+iView Admin 后端:Spring Boot 2.x/Spring Security/JWT/JPA+Mybatis-Plus/Redis/Elasticsearch/Activiti 分布式限流/同步锁/验证码/SnowFlake雪花算法ID 动态权限 数据权限 工作流 代码生成 定时任务 社交账号 短信登录 单点登录 OAuth2开放平台 客服机器人 数据大屏 暗黑模式
Stars: ✭ 3,432 (+921.43%)
Mutual labels:  dashboard

HyperBoard: A web-based dashboard for Deep Learning

HyperBoard is a simple visualization tool to facilitate hyperparameter tuning for Deep Learning players. It helps you to

  • train on a remote server and visualize training curves on the local browser
  • update curves in real time
  • interactively compare hundreds of training curves for hyperparameter tuning, with filtering and visibility control
  • save hundreds of training records on disk and re-load them when needed

HyperBoard resembles Tensorboard and Tensorboard for MXNet. However, HyperBoard is independent from any specific Deep Learning platform and provides extra functions.

Watch a 3-minute demonstration on Youtube or Bilibili.

Screenshot:

alt text

Installation

# install dependencies
pip install flask requests numpy
pip install flask-httpauth # depend on flask
git clone https://github.com/WarBean/hyperboard.git
cd hyperboard/
python setup.py install

Usage

HyperBoard is easy to use. It is composed of three parts: Server, Agent and Dashboard. In general, when playing with deep neural networks on some remote server, you can

  • launch HyperBoard Server on the same remote server
  • set up your new hyperparameters, then call HyperBoard Agent to register some curves at the HyperBoard Server for this time
  • start model training and for each K iteration, call HyperBoard Agent to send cross entropy, accuracy, BELU, etc to HyperBoard Server
  • open HyperBoard Dashboard on your local browser, watch the curves growing

You can also run HyperBoard Server on your local PC. Currently, HyperBoard Server and Agent have been tested on Mac OS and Ubuntu. HyperBoard Dashboard has been tested on Firefox, Chrome and Safari.

Here are the details:

Prepare a directory for storing records

cd ~
mkdir my_records

Launch the server inside the directory

cd my_records
hyperboard-run --user <your_user_name> --password <your_password>

You can use HyperBoard without security authentication by simply using hyperboard-run without any arguments. Also use hyperboard-run -h for more help info.

Start model training

For this part, you are recommended to run a simulation script example/run_agent.py first. Detailed usage of HyperBoard Agent will be explained below.

Open dashboard on you local browser

If hyperboard-run is run with argument --local, open http://127.0.0.1:5000, otherwise http://<your_remote_server_address>:5000.

The dashboard provides convenient interactive controls on visualization. Feel free to play with them - except the Delete from Server button :).

HyperBoard Agent Usage

Initialize an agent object:

from hyperboard import Agent
agent = Agent(username = '', password = '', address = '127.0.0.1', port = 5000)

username and password can be omitted if you have launched HyperBoard Server without security authentication. address and port can be omitted to use default value.

Register a curve on Server

name = agent.register(hyperparameters, metric, overwrite = False)

hyperparameters should be a dictionary.

metric is a string label indicating the numerical range of the values you send next. Curves sharing the same metric will share one y-axis on the dashboard. It helps you properly visualize cross entropy and accuracy in the same graph.

overwrite = False lets Agent to ask you for confirmation before removing existing records with the same hyperparameter setup.

Send record during training iteration

agent.append(name, index, value)

Record Storage

Each curve is saved as a file with a suffix .record, in the very directory where you launch HyperBoard Server. The content of record file is simple:

$ head my_records/fd8e3e27e4ef661488932e9a58197d90.record
{"batch size": 256, "corpus": "PennTreeBank", "criteria": "train accu", "learning rate": 0.001, "momentum": 0.9, "num hidden": 300, "optimizer": "Adam"}
accuracy
0 -0.22079159783278235
1 -0.15177436116678278
2 -0.0847468825330926
3 -0.009928149024110766
4 0.07511021349995883
5 0.16286792223048174
6 0.22981841687923243
7 0.25812625639630005

The first line is hyperparameters. The second line is metric. Each line below contains the iteration index and the criteria value.

The next time you launch HyperBoard Server, it will reload all .record files (except those you delete manually) into memory.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].