@@ -0,0 +1,2295 @@
+#!/usr/bin/env python %0A%0Afrom __future__ import division%0A%0Aimport sys%0A%0Aimport logging%0Afrom time import time%0Aimport cPickle as pickle%0A%0Aimport numpy as np%0Aimport h5py%0A%0A%0Aimport pylab%0A#import theano%0A#import theano.tensor as T%0A%0A_logger = logging.getLogger()%0A%0A#=============================================================================%0Aif __name__ == %22__main__%22:%0A    import argparse %0A%0A    logger = logging.getLogger(__name__)%0A%0A    parser = argparse.ArgumentParser()%0A    parser.add_argument('--verbose', '-v', action=%22store_true%22, default=False)%0A    parser.add_argument('--filter', type=str, default=None)%0A    parser.add_argument('results', nargs='+')%0A    args = parser.parse_args()%0A%0A    if args.verbose:%0A        level = logging.DEBUG%0A    else:%0A        level = logging.INFO%0A%0A    FORMAT = '%5B%25(asctime)s%5D %25(message)s'%0A    DATEFMT = %22%25H:%25M:%25S%22%0A    logging.basicConfig(format=FORMAT, datefmt=DATEFMT, level=level)%0A%0A    ylim = +np.inf%0A    for result_dir in args.results:%0A        fname = result_dir+%22/results.h5%22%0A%0A        try:%0A            with h5py.File(fname, %22r%22) as h5:%0A%0A                print %22==== %25s ====%22 %25 result_dir%0A                logger.debug(%22Keys:%22)%0A                for k, v in h5.iteritems():%0A                    logger.debug(%22  %25-30s   %25s%22 %25 (k, v.shape))%0A%0A                for k,v in h5.iteritems():%0A                    if not 'model.' in k:%0A                        continue%0A%0A                    if not args.filter is None:%0A                        if args.filter not in k:%0A                            continue%0A    %0A                    values = v%5B:%5D%0A                    iterations = v.shape%5B0%5D%0A                    values = values.reshape( %5Biterations, -1%5D )%0A                    %0A                    v_min  = np.min(values, axis=1)%0A                    v_max  = np.max(values, axis=1)%0A                    v_mean = np.mean(values, axis=1)%0A%0A                    pylab.errorbar(np.arange(iterations), v_mean, yerr=%5Bv_min, v_max%5D, label=k)%0A                    %0A        except KeyError as e:%0A            logger.info(%22Failed to read data from %25s: %25s%22 %25 (fname, e))%0A%0A        except IOError as e:%0A            logger.info(%22Failed to open %25s fname: %25s%22 %25 (fname, e))%0A%0A%0A    #pylab.figsize(12, 8)%0A    pylab.xlabel(%22Epochs%22)%0A    pylab.ylabel(%22%22)%0A    pylab.legend(loc=%22lower right%22)%0A    pylab.show(block=True)%0A%0A

Add show-param-stats.py