Commit Graph
13116 Commits
Author SHA1 Message Date
Ryan Curtin 644dfd9808 Fix unnecessary copy. 2015-05-20 11:13:41 -04:00
Ryan Curtin 722d37594b Remove debugging output. Cover trees work. 2015-05-20 11:13:41 -04:00
Ryan Curtin 1915392315 Fix typo. 2015-05-20 11:13:41 -04:00
Ryan Curtin 64b52e0c12 Refactor UpdateTree() to pass parent bounds.
This is a little bit tighter, I think, and is necessary for cover trees, where the MaxDistance() to a node is not necessarily bounded above by the MaxDistance() to the node's parent.
2015-05-20 11:13:41 -04:00
Ryan Curtin fc380437e1 Fix centroid calculation for cover tree. 2015-05-20 11:13:41 -04:00
Ryan Curtin 37c5173940 Fix includes. 2015-05-20 11:13:41 -04:00
Ryan Curtin ac2d3a0f48 Only unmap if necessary. 2015-05-20 11:13:41 -04:00
Ryan Curtin 5538fb0441 Remove self-flagellation; no longer necessary. 2015-05-20 11:13:41 -04:00
Ryan Curtin 55a7ba8909 Adapt to trees that aren't just binary. 2015-05-20 11:13:41 -04:00
Ryan Curtin 77d750c8fd Merge pull request #438 from jahabrewer/master
Add OpenMP support to density estimation tree code
2015-05-20 11:13:26 -04:00
Janzen Brewer a63ddcdd77 Replace unsupported array operation with arma::vec
Dynamic length arrays are a g++ extension and their initialization is
only supported from g++-4.9.
2015-05-15 22:44:25 +00:00
Janzen Brewer 340b34b091 Optimize small things in density estimation trees
While doing other work, I noticed a few things that could use
improvement:
  * An std::vector that is used as an array
  * Unnecessary dynamic memory allocation
I fixed these things and measured a marginal speedup.
2015-05-15 07:48:54 -07:00
Janzen Brewer fecccd38d9 Add OpenMP support to density estimation tree code
There are two parts to the OpenMP support. First, cmake was instructed
to compile with compiler-appropriate OpenMP flags. Second, three OpenMP
pragmas were added to dt_utils.cpp to parallelize the cross-validation
loop. No non-pragma code changes were necessary.
2015-05-14 07:53:25 -07:00
Ryan Cirtin 322deab1ff Fix typo/bug and memory leak. 2015-05-12 14:23:44 -04:00
Marcus Edel 8fce9086d1 Handle 3rd tensors, when calculating the first derivatives of the identity function. 2015-05-10 13:33:07 +02:00
Marcus Edel a1ff4e1722 Add convenience typedefs: ConvLayer, PoolingLayer. 2015-05-10 13:33:07 +02:00
Ryan Curtin f7c45b202a When BinarySpaceTree was refactored, its traits were not.
And thus the traits didn't work unless you were using the default SplitType.
2015-05-08 12:03:02 -04:00
Ryan Curtin dde839eaf3 Don't specify the exact type; that's superfluous. 2015-05-08 11:53:08 -04:00
Ryan Curtin bece04ae4d Fix header guard. 2015-05-08 11:47:15 -04:00
Ryan Curtin 148bfca48c Use MidpointSplit by default. 2015-05-07 15:10:52 -04:00
Ryan Curtin 07a099f2b6 Add midpoint split. This often produces better trees than mean split... 2015-05-07 15:10:51 -04:00
Ryan Curtin 34eb8da76f Remove pedantic ;s. 2015-05-07 15:10:51 -04:00
Marcus Edel 237ab40b5a Refactor the convolutional neural network class, it's almost idenical with the ffnn code, but we add more features in the future, so copy the code right away. 2015-05-05 22:15:57 +02:00
Marcus Edel b0ab609870 Add the convolution neural network to the network traits. 2015-05-05 22:15:57 +02:00
Ryan Curtin 9c34c98c8d Refactor LSH. Don't used squared distances. 2015-05-05 15:38:14 -04:00
Ryan Curtin 66341ba1d7 Add methods for counting distance computations. 2015-05-05 15:38:14 -04:00
Marcus Edel 6137e52d32 Refactor neuron layer class to support 3rd order tensors. 2015-05-04 21:13:35 +02:00
Marcus Edel 5b5e1cf5b9 Add method to get the number of slices. 2015-05-04 21:13:35 +02:00
Marcus Edel 47dd33db77 Refactor conv connection to support 3rd order tensors. 2015-05-04 21:13:34 +02:00
Marcus Edel 2c868b684f Rename the conv connection class. 2015-05-04 21:13:34 +02:00
Marcus Edel 89fb9ec142 Style overhaul, and clarify some comments. 2015-05-04 21:13:34 +02:00
Marcus Edel 609ee9c7ad Refactor pooling connection to support 3rd order tensors. 2015-05-04 21:13:34 +02:00
Ryan Curtin 6caf31a493 Fix memory leak and bug. 2015-05-04 11:36:13 -04:00
Ryan Curtin b9d571606d Refactor to use BoundTraits. Remove nextDimension.
The extra overhead of tracking the number of tied dimensions is overkill, when that situation will happen so infrequently in practice.  It used to happen with the BallBound where all dimensions are always the same, but the BoundTraits solution is better.
2015-05-04 11:12:39 -04:00
Ryan Curtin acbf832a79 Add a BoundTraits<> class for template metaprogramming. 2015-05-04 10:20:35 -04:00
Ryan Curtin 744b3268b4 Count base cases and scores correctly. 2015-05-03 21:37:45 -04:00
Ryan Curtin 9d8c55236d Oops, did not apply changes to other overload. 2015-05-03 21:37:37 -04:00
Ryan Curtin 076156df78 This wasn't actually mean split before. Now it is. 2015-05-03 19:34:14 -04:00
Ryan Curtin 77893ce4a5 Make sure the tree doesn't split on the same dimension over and over again when there's a tie. 2015-05-03 19:12:00 -04:00
Ryan Curtin e603caa2af Refactor BinarySpaceTree to use instantiated splitter.
This isn't currently user-passable, but, maybe later.
2015-05-03 18:41:35 -04:00
Marcus Edel 174d2de995 Fix ambiguous constructor. 2015-05-03 22:14:54 +02:00
Marcus Edel d60fca25a2 Add new connection trait. 2015-05-03 22:14:54 +02:00
Marcus Edel f2dcb8fcbc Adapt new design pattern. 2015-05-03 22:14:54 +02:00
Marcus Edel f84079f191 Clean the steepest descent optimizer class and add tensor support. 2015-05-03 22:14:54 +02:00
Marcus Edel 9d714f70c0 Minor style fix. 2015-05-03 22:14:54 +02:00
Marcus Edel f9d6162b04 Swap naming convention. 2015-05-03 22:14:54 +02:00
Marcus Edel c1bfdf3266 Rename pooling connection. 2015-05-03 22:14:54 +02:00
Ryan Curtin 0f31abbdeb Allow the dual-tree traverser to be changed easily.
This probably should be done for the single-tree traverser too, but we'll start here for now.
2015-05-03 00:38:50 +00:00
Ryan Curtin 4379c3398c Revert to older Armadillo syntax. 2015-04-29 15:23:13 -04:00
Ryan Curtin e06ce8f3ac Adapt to new NeighborSearch API. 2015-04-29 14:58:19 -04:00