Esempio n. 1
0
    def compare(self, networks, losses):
        folders = [
            dir for dir in os.listdir('.')
            if os.path.isdir(dir) and not dir.startswith('.')
        ]
        networks = tb.wildcardMatch(folders, networks)

        logs = []
        measureNames = []
        for net in networks:
            logfile = '%s/training/log.txt' % net
            print 'reading %s' % logfile
            logs.append(Log(net, logfile))
            for name in logs[-1].measureNames():
                if name not in measureNames: measureNames.append(name)

        if losses is not None:
            selectedNames = tb.unique(tb.wildcardMatch(measureNames, losses))
        else:
            selectedNames = tb.unique(measureNames)

        print 'comparing networks:'
        for net in networks:
            print "   ", net
        print 'comparing losses: '
        for name in selectedNames:
            print "   ", name

        Log.plotComparison(selectedNames, logs)
Esempio n. 2
0
    def plot(self, select=''):
        measureList = []
        if select == '':
            measureList = self._measureList
        else:
            selections = select.split(',')
            for selection in selections:
                measureList += tb.wildcardMatch(self._measureList, selection)
        measureList = tb.unique(measureList)

        plot = Plot("loss/accuracy for %s" % self._networkName)

        def plotMeasure(name, label, color):
            plot.plotList(label, self._measures[name], color)
            measureList.remove(name)

        for name, (label, style) in Config.plotMeasureStyles.iteritems():
            if name in measureList:
                plotMeasure(name, name, style)

        styles = tb.styleList()
        for name in measureList[:]:
            if name.startswith('test_'):
                plotMeasure(name, name, styles.pop(0))

        for name in measureList[:]:
            plotMeasure(name, name, styles.pop(0))

        plot.finish()
Esempio n. 3
0
    def plot(self, select=''):
        measureList = []
        if select == '':
            measureList = self._measureList
        else:
            selections = select.split(',')
            for selection in selections:
                measureList += tb.wildcardMatch(self._measureList, selection)
        measureList = tb.unique(measureList)

        plot = Plot("loss/accuracy for %s" % self._networkName)

        def plotMeasure(name,label,color):
            plot.plotList(label, self._measures[name], color)
            measureList.remove(name)

        for name, (label, style) in Config.plotMeasureStyles.iteritems():
            if name in measureList:
                plotMeasure(name, name, style)

        styles = tb.styleList()
        for name in measureList[:]:
            if name.startswith('test_'):
                plotMeasure(name, name, styles.pop(0))

        for name in measureList[:]:
            plotMeasure(name, name, styles.pop(0))

        plot.finish()
Esempio n. 4
0
    def compare(self, networks, losses):
        folders = [dir for dir in os.listdir('.') if os.path.isdir(dir) and not dir.startswith('.')]
        networks = tb.wildcardMatch(folders, networks)

        logs = []
        measureNames = []
        for net in networks:
            logfile = '%s/training/log.txt' % net
            print 'reading %s' % logfile
            logs.append(Log(net, logfile))
            for name in logs[-1].measureNames():
                if name not in measureNames: measureNames.append(name)

        if losses is not None:
            selectedNames = tb.unique(tb.wildcardMatch(measureNames, losses))
        else:
            selectedNames = tb.unique(measureNames)

        print 'comparing networks:'
        for net in networks: print "   ", net
        print 'comparing losses: '
        for name in selectedNames: print "   ", name

        Log.plotComparison(selectedNames, logs)
Esempio n. 5
0
def getSelectedCollections():
    collectionNames = collections.keys()

    selectedNames = []
    if args.collections == '':
        selectedNames = collectionNames
    else:
        exprs = args.collections.split(',')
        for expr in exprs:
            selectedNames += tb.wildcardMatch(collectionNames, expr)

    selectedNames = tb.unique(selectedNames)

    selectedCollections = {}
    for name in selectedNames:
        for collectionName, collection in collections.iteritems():
            if collectionName == name:
                selectedCollections[name] = collection

    return selectedCollections
Esempio n. 6
0
def getSelectedCollections():
    collectionNames = collections.keys()

    selectedNames = []
    if args.collections == '':
        selectedNames = collectionNames
    else:
        exprs = args.collections.split(',')
        for expr in exprs:
            selectedNames += tb.wildcardMatch(collectionNames, expr)

    selectedNames = tb.unique(selectedNames)

    selectedCollections = {}
    for name in selectedNames:
        for collectionName, collection in collections.iteritems():
            if collectionName == name:
                selectedCollections[name] = collection

    return selectedCollections