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