Commit Graph

5709 Commits

Author SHA1 Message Date
Davis King 7770225a88 Fixed a bug in gaussian_blur() that caused messed up outputs when big sigma
values were used on some pixel types.
2016-04-28 18:57:15 -04:00
Davis King d3f12d832c Added more overloads of affine_transform() 2016-04-27 20:20:06 -04:00
Davis King 7d5fb9c60c Added device_id() methods to gpu_data and tensor objects. These functions
allow you to find out which device owns the memory inside these objects.
2016-04-27 20:18:57 -04:00
Davis King 8ece542852 Made the cout and cerr redirection in mex files restore the state of the
streambufs before exiting.
2016-04-27 12:36:50 -04:00
Davis King 9f2f6146ec merged 2016-04-27 08:50:23 -04:00
Davis King 339ac50d21 Fixed double counting of mini-batches for the purposes of solver termination
when multiple GPUs are used.
2016-04-27 08:49:02 -04:00
Davis King 0f180a68d6 Fixed bad random number generation in layer initialization. 2016-04-27 08:48:23 -04:00
Davis King dfd9543cdb Made the elastic_net inputs be in terms of trans(X)*X and trans(X)*Y rather
than raw X and Y matrices.
2016-04-26 10:24:19 -04:00
Davis King 69a12074a2 made code faster 2016-04-26 09:52:19 -04:00
Davis King 47fbaff093 Added elastic_net solver. 2016-04-25 17:05:10 -04:00
Davis King 5ec306d25d removed cruft 2016-04-25 16:34:14 -04:00
Davis King 5bde3fad2e merged 2016-04-25 08:28:39 -04:00
Davis King 7c29fbb1fd merged 2016-04-25 08:27:00 -04:00
Davis King 82295c105a Added missing function 2016-04-25 08:26:29 -04:00
Davis King 16583730d7 fixed bug in tests 2016-04-25 07:01:36 -04:00
Davis King 24830e8e2c Added memcpy() functions for tensor and gpu_data objects. 2016-04-24 10:08:55 -04:00
Davis King 2fd982347b Improved more macros 2016-04-24 10:07:24 -04:00
Davis King 018e85f150 Improved CHECK_CUDA() macro 2016-04-24 10:05:37 -04:00
Davis King 935a0b4e48 fixed grammar in comment 2016-04-24 08:33:39 -04:00
Davis King a22d4559ee merged 2016-04-21 22:26:00 -04:00
Davis King 5c2b1f9889 Fixed an error where some assignments to matrix output variables would result
in an exception getting thrown.
2016-04-21 17:27:56 -04:00
Davis King 060e876b86 Made the mex wrapper flush output streams to the matlab console when the mex
function ends.
2016-04-20 08:39:49 -04:00
Davis King fcf11feb87 Fixed file I/O error that happens only on windows. 2016-04-19 21:57:59 -04:00
Davis King 168574bd6c Added visit_layer_parameter_gradients() and also fixed a silly synchronization
error in the multi-gpu training code.
2016-04-19 06:45:35 -04:00
Davis King d31723ff45 Fixed typo in example 2016-04-19 06:44:31 -04:00
Davis King b73f5e8160 merged 2016-04-18 22:49:04 -04:00
Davis King b16cc99e8f Added comments about using multiple GPUs 2016-04-18 22:48:07 -04:00
Davis King ca11d10806 Added multi-gpu support to the dnn_trainer 2016-04-18 22:03:02 -04:00
Davis King b9fd956487 Added missing assert 2016-04-18 22:02:42 -04:00
Davis King 172577d2b8 Added find_optimal_parameters() 2016-04-18 18:11:38 -04:00
Davis King 8a7f6873be Fixed typo in error message 2016-04-18 18:11:16 -04:00
Davis King 8984f75469 Added operator= that takes an initializer_list so that = assignments always
behave in the way you would expect.
2016-04-18 18:04:00 -04:00
Davis King e9fa65398f Added a matrix constructor that takes an initializer list. 2016-04-18 17:35:02 -04:00
Davis King 3b35f55baf Added visit_layer_parameters() 2016-04-17 14:39:41 -04:00
Davis King 1fc117e1ab Clarified error message 2016-04-17 14:35:40 -04:00
Davis King d85de930a4 Split the update() methods into two parts. One that computes gradients
with respect to parameters and one that updates the parameters with those
gradients.
2016-04-17 10:11:05 -04:00
Davis King 8c64a656a2 fixed linker error 2016-04-17 07:41:29 -04:00
Davis King e1367f1b0f Made unit test less likely to false alarm. 2016-04-16 22:43:17 -04:00
Davis King 2703a72dfe Added get_num_devices() 2016-04-16 21:12:31 -04:00
Davis King 603d474352 - Renamed network_type::num_layers to network_type::num_computational_layers.
- Made layer() recurse into repeat objects so that the index given to layer()
  does what you would expect.
- Added an operator<< for network objects that prints the network architecture.
2016-04-16 10:50:15 -04:00
Davis King 088546f3f4 fixed typo 2016-04-16 06:36:59 -04:00
Davis King d25454932c renamed EXAMPLE_LAYER_ to EXAMPLE_COMPUTATIONAL_LAYER_ 2016-04-16 06:36:07 -04:00
Davis King 79adbae2f5 Added a few more tests 2016-04-16 06:22:43 -04:00
Davis King c48d0973c7 fixed grammar in some comments 2016-04-14 21:48:59 -04:00
Davis King 13bc3880e1 Fixed compiler errors when using std::vector in mex wrapper. 2016-04-12 09:20:09 -04:00
Davis King 61591b13e2 Seeded random number generator with the clock since that's generally a good
thing to do for this kind of training.
2016-04-11 23:11:18 -04:00
Davis King 02c27ff916 fixed formatting 2016-04-11 23:06:32 -04:00
Davis King 2e39e5fa22 Clarified spec and cleaned up code slightly 2016-04-11 22:58:54 -04:00
Davis King 423cd85594 renamed a file
--HG--
rename : examples/dnn_mnist_resnet_ex.cpp => examples/dnn_mnist_advanced_ex.cpp
2016-04-11 22:57:11 -04:00
Davis King 902a2beeaf Fleshed out these examples more. 2016-04-11 22:55:49 -04:00