Commit Graph

5816 Commits

Author SHA1 Message Date
Davis King
893824a18c Fixed compiler warnings 2016-04-29 08:04:54 -04:00
Davis King
aba68d6f0c merged 2016-04-29 06:56:25 -04:00
Davis King
428b0bb856 Made multi-gpu mode use GPUDirect rather than copying through the CPU. 2016-04-29 06:55:53 -04:00
Davis King
0d6e3f12d6 Made the multi_device_tensor_averager not assume the size of the tensors is
known at set() time.
2016-04-29 06:55:04 -04:00
Davis King
b85688acec clarified spec 2016-04-29 06:54:30 -04:00
Davis King
1f0705ae92 clarified example 2016-04-28 19:41:27 -04:00
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
482d82db41 Added multi_device_tensor_averager 2016-04-27 21:50:31 -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