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)
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()
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()
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)
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
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