• For non-leaf transforms, add a separate train method that takes
    QList<TemplateList> as arguments, where the separate list items correspond to
    the separate calls to project that would be made by parent transforms during
    enrollment. This is basically to deal with the effects of distribute on
    untrainable meta transforms such as flatten, we have to maintain a consistent
    grouping with project, otherwise the intermediate projection results used
    during training won't be consistent with what they would be during enrollment.
    Charles Otto authored
     
    Browse File »




  • resolved conflicts:
    	app/br/br.cpp
    	openbr/core/bee.cpp
    	openbr/core/classify.cpp
    	openbr/core/cluster.cpp
    	openbr/core/eval.h
    	openbr/openbr.cpp
    	openbr/openbr.h
    	openbr/plugins/algorithms.cpp
    	openbr/plugins/independent.cpp
    	openbr/plugins/output.cpp
    	openbr/plugins/svm.cpp
    Charles Otto authored
     
    Browse File »
  • Remove variables related to subsampling training data from Transform, move them
    to a new transform called DownsampleTraining, and perform subsampling in that
    transform, rather than as part of IndependentTransform (which depended on the
    subsampling variables in Transform).
    
    The prior approach was incompatible with using explicit class variable names,
    rather than assuming a fixed label variable. This is because the actual
    downsampling was carried out as part of IndependentTransform, which is not a
    visible part of the algorithm grammar. Removing this logic from
    Independent/Transform is generally desirable if only to avoid cluttering
    Transform with member variables that are only used some of the time, and used
    in a (fairly) restrictive way.
    
    The current approach of makring DownsampleTraining as an indepent transform
    is still limited since the downsample logic (still) cannot be applied without
    the split used in Independent, and also DownsampleTraining can only be
    implemented as a wrapper for another transform (because the argument to train
    is const, and performing the donwsample logic in project would also impact the
    testing case (since we have no way to exclude a transform used in training from
    use in testing, for a fixed algorithm)).
    Charles Otto authored
     
    Browse File »











  • Remove global label/subject lookup table
    Consistently use "Subject" rather than "Label", subject is assumed to be
    convertable to QString. When desirable, map discrete subject values to ints.
    
    For classifiers such as svm that require numeric labels, generate a string->int
    mapping for the training data, and store it (local to the transform).
    
    Utility functions for collecting all values of a given property (on a template
    list), and mapping discrete property values to 0-based integers
    
    Some outstanding issues include use of label/subject in matrix output
    Charles Otto authored
     
    Browse File »
  • Remove subject/label methods from the API, replace some methods with general
    methods taking a property name as an argument.
    
    This breaks quite a few things
    Charles Otto authored
     
    Browse File »