def __init__(self, dataPath, resultsDir, experimentName, modelName, loadPath=None, numClasses=3, plots=0, orderedSplit=False, trainSizes=None, verbosity=0): """ @param dataPath (str) Path to raw data file for the experiment. @param resultsDir (str) Directory where for the results metrics. @param experimentName (str) Experiment name, used for saving results. @param loadPath (str) Path to serialized model for loading. @param modelName (str) Name of nupic.fluent Model subclass. @param numClasses (int) Number of classes (labels) per sample. @param plots (int) Specifies plotting of evaluation metrics. @param orderedSplit (bool) Indicates method for splitting train/test samples; False is random, True is ordered. @param trainSizes (list) Number of samples to use in training, per trial. @param verbosity (int) Greater value prints out more progress. """ self.dataPath = dataPath self.resultsDir = resultsDir self.experimentName = experimentName self.loadPath = loadPath self.modelName = modelName self.numClasses = numClasses self.plots = plots self.orderedSplit = orderedSplit self.trainSizes = trainSizes if trainSizes else [] self.verbosity = verbosity self.modelDir = os.path.join(self.resultsDir, self.experimentName, self.modelName) if not os.path.exists(self.modelDir): os.makedirs(self.modelDir) if self.plots: from fluent.utils.plotting import PlotNLP self.plotter = PlotNLP() self.dataDict = None self.labels = None self.labelRefs = None self.partitions = [] self.samples = {} self.patterns = None self.results = [] self.model = None
def __init__(self, dataPath, resultsDir, experimentName, load, modelName, modelModuleName, numClasses, plots, orderedSplit, trainSize, verbosity): """ @param dataPath (str) Path to raw data file for the experiment. @param resultsDir (str) Directory where for the results metrics. @param experimentName (str) Experiment name, used for saving results. @param load (bool) True if a serialized model is to be loaded. @param modelName (str) Name of nupic.fluent Model subclass. @param modeModuleName (str) Model module -- location of the subclass. @param numClasses (int) Number of classes (labels) per sample. @param plots (int) Specifies plotting of evaluation metrics. @param orderedSplit (bool) Indicates method for splitting train/test samples; False is random, True is ordered. @param trainSize (str) Number of samples to use in training. @param verbosity (int) Greater value prints out more progress. """ self.dataPath = dataPath self.resultsDir = resultsDir self.experimentName = experimentName self.load = load self.modelName = modelName self.modelModuleName = modelModuleName self.numClasses = numClasses self.plots = plots self.orderedSplit = orderedSplit self.trainSize = trainSize self.verbosity = verbosity self.modelPath = os.path.join(self.resultsDir, self.experimentName, self.modelName) if not os.path.exists(self.modelPath): os.makedirs(self.modelPath) if self.plots: self.plotter = PlotNLP() self.dataDict = None self.labels = None self.labelRefs = None self.partitions = [] self.samples = None self.patterns = None self.results = [] self.model = None