Esempio n. 1
0
    def summary(self, ignore=('epoch', 'iteration')):
        """
        Computes averages of metrics stored in the cache

        Args:
            ignore (list): these metrics will be ignored and removed from the summary
        """
        s = defaultdict(list)
        for m in self.log:
            for k, v in m.items():
                if k not in ignore:
                    s[k].append(v)
        for k, v in s.items():
            s[k] = sum(v) / len(v)
        return s


if __name__ == '__main__':
    from dashboard import writer
    import time
    r = Reporter()
    writers = [writer.ConsoleWriter()]

    for i in range(10):
        d = {'iteration': i, 'score': i * 2}
        r.add(d)
        for w in writers:
            w.add(d)
        time.sleep(1)
Esempio n. 2
0
        self.user = self.fb.auth().refresh(self.user['refreshToken'])
        try:
            self.fb.database().child('experiments').child(self.name).push(metrics, self.user['idToken'])
        except Exception as e:
            print('Could not write to Dashboard')
            print(e)


if __name__ == '__main__':
    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)})
Esempio n. 3
0
 def setUp(self):
     self.w = writer.ConsoleWriter()