All Projects → vzhong → Dashboard

vzhong / Dashboard

Licence: mit
Utilities and monitors for machine learning experiments, web client included.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Dashboard

React Shopping Cart
🛍️ Simple ecommerce cart application built with React Redux
Stars: ✭ 1,808 (+1164.34%)
Mutual labels:  firebase
Tallyassist
Open source Flutter-based template for a business assistant application
Stars: ✭ 137 (-4.2%)
Mutual labels:  firebase
Go Fcm
Firebase Cloud Messaging Library for Golang
Stars: ✭ 138 (-3.5%)
Mutual labels:  firebase
Nextjs Vercel Firebase
Next.js app using API routes to connect with Firestore.
Stars: ✭ 133 (-6.99%)
Mutual labels:  firebase
Justtweak
JustTweak is a framework for feature flagging and A/B testing for iOS apps.
Stars: ✭ 136 (-4.9%)
Mutual labels:  firebase
Smart Industry
🏭 Open Source Manufacturing Execution System for JobShop type manufacturer.
Stars: ✭ 138 (-3.5%)
Mutual labels:  firebase
Timy Messenger
Timy - open source mobile app for groups to communicate and organize themselves. Built with flutter.
Stars: ✭ 1,745 (+1120.28%)
Mutual labels:  firebase
Vue Comment Grid
💬 Responsive Vue.js comment system plugin that built with CSS Grid and Firebase REST API + Authentication. https://tugayyaldiz.github.io/vue-comment-grid
Stars: ✭ 143 (+0%)
Mutual labels:  firebase
Flutter firebase starter
Flutter firebase starter project
Stars: ✭ 136 (-4.9%)
Mutual labels:  firebase
React Native Firebase Chat
This repository contains the source code for a simple chat application built with React Native (frontend) and Firebase (backend).
Stars: ✭ 140 (-2.1%)
Mutual labels:  firebase
Howlstagram
Stars: ✭ 132 (-7.69%)
Mutual labels:  firebase
Fluttergram
A fully functional Instagram clone written in Flutter using Firebase / Firestore
Stars: ✭ 1,944 (+1259.44%)
Mutual labels:  firebase
Generator Jekyll Starter Kit
🚀 Jekyll Progressive Web App Generator.
Stars: ✭ 139 (-2.8%)
Mutual labels:  firebase
Stripe Firebase Extensions
Repository of Firebase Extensions built by Stripe.
Stars: ✭ 133 (-6.99%)
Mutual labels:  firebase
Angular9 Example App
Angular 13 Example App + Angular CLI + i18n + GraphQL
Stars: ✭ 1,769 (+1137.06%)
Mutual labels:  firebase
Chatair Android
🔥 A highly advance featured chat app in android using Firestore
Stars: ✭ 132 (-7.69%)
Mutual labels:  firebase
React Firebase Hooks
React Hooks for Firebase.
Stars: ✭ 2,227 (+1457.34%)
Mutual labels:  firebase
Firebase Tokens Php
A PHP library to work with Firebase tokens
Stars: ✭ 142 (-0.7%)
Mutual labels:  firebase
React Native Fcm
react native module for firebase cloud messaging and local notification
Stars: ✭ 1,729 (+1109.09%)
Mutual labels:  firebase
Next Firebase Auth
Simple Firebase authentication for all Next.js rendering strategies
Stars: ✭ 135 (-5.59%)
Mutual labels:  firebase

dashboard

Build Status

Dashboard provides utilities to make and visualize experiment logs. Yes, now you can run your experiments on your server and view your logs on your phone like you've always wanted.

Reporting

from dashboard import reporter
import numpy as np

r = reporter.Reporter()

for epoch in range(10):
    for i in range(5):
        metrics = {'loss': np.random.uniform(0, 1), 'f1': np.random.uniform(0, 1)}
        r.add(metrics)
    print(r.summary())  # prints {'loss': <average loss>, 'f1': <average f1>}
    r.clear()

Writers

Console writer

from dashboard import writer
from time import sleep
import numpy as np
import random
random.seed()

console_writer = writer.ConsoleWriter()
file_writer = writer.FileWriter('foo.log')   # writes to 'foo.log'
for epoch in range(3):
    for i in range(2):
        metrics = {'f1': np.random.uniform(0, 1), 'iteration': i, 'epoch': epoch}
        console_writer.add(metrics)
        file_writer.add(metrics)
        sleep(0.5)

exp1_hyperparams = {'d_hid': 100, 'dropout': 0.5, 'model': 'foo'}
exp2_hyperparams = {'d_hid': 200, 'dropout': 0.3, 'model': 'bar', 'comment': 'hello world!'}
writer1 = writer.FirebaseWriter('myexp1', exp1_hyperparams, delete_existing=True)
writer2 = writer.FirebaseWriter('myexp2', exp2_hyperparams, delete_existing=True)
for i in range(5):
    writer1.add({'iteration': i, 'score': random.uniform(0, 10)})
    writer2.add({'iteration': i, 'score': random.uniform(0, 10)})
    print('wrote to firebase data from iteration {}'.format(i))

Note that in order for FirebaseWriter to work, you need to create a config file ~/.fb.config like follows:

{
  "email": "email for a user in your Firebase",
  "password": "password for the user in your Firebase",
  "secret": "some secret (you can put whatever you want)",
  "apiKey": "Firebase API key",
  "authDomain": "Firebase auth domain",
  "databaseURL": "Firebase database URL",
  "storageBucket": "Firebase storage bucket"
}

All of these come with your Firebase config, with the exception of email and password which correspond to a user that you create inside your Firebase (who has access to the database).

Firebase Web Client

Dashboard client

An example client operating off of my personal Firebase can be found in the client directory.

NOTE: You will not be able to read/write to the database with this client until you have done the following:

  1. Create an app on Firebase and locate your config according to this guide.
  2. Enable email accounts and create an account/password for FirebaseWriter according to this guide. Note that you don't need to do this via Javascript, instead, just go to your users tab in Firebase and create an account.
  3. Create ~/.fb.config, copying in your Firebase config from Step 1 and the account credentials from Step 2.
  4. Copy in your Firebase config from Step 1 into main.js.

Once you have done so, you can launch the web server in one of the following ways.

Hosting static webpages

You can host the web pages on your machine by launching a simple http server.

# this is assuming you are using python 3
cd client/public && python -m http.server 9090

You should now be able to visit localhost:9090.

Hosting on Firebase

Follow these instructions to set up Firebase tools. Remember that you will need to change client/.firebaserc to point to your own app.

Next, the following command will deploy your app and print out the hosted URL.

cd client && firebase deploy

Static webpage

You can actually use a static web page! Just open client/public/index.html.

Contribution

Pull requests are welcome!

The project is set up as follows:

  • dashboard contains the Dashboard python package, whose installation script is setup.py.
  • tests contains the unit tests for the python package, runnable via python setup.py test.
  • client contains the Firebase app.
  • client/public contains source code for the client, mostly written in very basic VueJS.
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].