Evan Shelhamer [Fri, 4 Sep 2015 05:47:51 +0000 (02:47 -0300)]
Merge pull request #3027 from ronghanghu/fix-accuracy-test
Fix AccuracyLayerTest for per-class accuracy.
Ronghang Hu [Fri, 4 Sep 2015 04:44:45 +0000 (21:44 -0700)]
Fix AccuracyLayerTest for per-class accuracy.
Fix AccuracyLayerTest for per-class accuracy. Previously in #2935, it crashes since the test accuracy is nan (0/0) when a class never appear.
Evan Shelhamer [Fri, 4 Sep 2015 00:14:40 +0000 (21:14 -0300)]
Merge pull request #3023 from jeffdonahue/param-debug-info-fix
fix Net debug_info to report learnable params
Jeff Donahue [Thu, 3 Sep 2015 23:51:07 +0000 (16:51 -0700)]
Merge pull request #2959 from jeffdonahue/netspec-allow-non-iterable-repeated
NetSpec: don't require lists to specify single-element repeated fields
Jeff Donahue [Sat, 22 Aug 2015 00:29:06 +0000 (17:29 -0700)]
NetSpec: don't require lists to specify single-element repeated fields
Jeff Donahue [Thu, 3 Sep 2015 21:57:19 +0000 (14:57 -0700)]
net.cpp fix debug_info params -> learnable_params
Ronghang Hu [Thu, 3 Sep 2015 20:08:30 +0000 (13:08 -0700)]
Merge pull request #3014 from jeffdonahue/trivial-slice-concat
Allow trivial slice/concat
Jeff Donahue [Fri, 23 Jan 2015 20:52:44 +0000 (12:52 -0800)]
ConcatLayer: allow trivial operation with single bottom Blob
Jeff Donahue [Tue, 7 Oct 2014 18:55:54 +0000 (11:55 -0700)]
SliceLayer: allow trivial operation with single top Blob
Jeff Donahue [Wed, 2 Sep 2015 02:37:41 +0000 (19:37 -0700)]
Merge pull request #2990 from mattdawkins/add-openblas-path
Add extra OpenBLAS include search path
Jeff Donahue [Wed, 2 Sep 2015 00:55:03 +0000 (17:55 -0700)]
Merge pull request #3010 from darrengarvey/fixup-memory-leak-siamese
Fix memory leak in convert_mnist_siamese_data.
Jeff Donahue [Wed, 2 Sep 2015 00:43:28 +0000 (17:43 -0700)]
Merge pull request #3012 from lukeyeager/convert-imageset-logging
Show output from convert_imageset tool
Jeff Donahue [Wed, 2 Sep 2015 00:42:26 +0000 (17:42 -0700)]
Merge pull request #3011 from darrengarvey/fixup-cifar10-example
cifar10: Fix examples by setting snapshot_format.
Jeff Donahue [Wed, 2 Sep 2015 00:41:05 +0000 (17:41 -0700)]
Merge pull request #3009 from darrengarvey/cleanup-documentation-warnings
Fix up documentation errors.
Luke Yeager [Wed, 2 Sep 2015 00:20:37 +0000 (17:20 -0700)]
Show output from convert_imageset tool
Darren Garvey [Tue, 1 Sep 2015 23:54:06 +0000 (00:54 +0100)]
Fix up documentation errors.
Fix some doxygen warnings about an undocumented argument in Blob and
incorrect documentation for SoftmaxWithLossLayer::Forward_cpu().
Darren Garvey [Tue, 1 Sep 2015 19:09:25 +0000 (20:09 +0100)]
cifar10: Fix examples by setting snapshot_format.
Commit
4227828a set the default binary format from HDF5 to BINARYPROTO to
fix #2885. This broke the cifar10 examples which relied on this default.
This commit specifies the snapshot_format explicitly since the rest of the
example relies on this being HDF5.
Jeff Donahue [Tue, 1 Sep 2015 23:25:35 +0000 (16:25 -0700)]
Merge pull request #3008 from darrengarvey/cleanup-cmake-variable
Cleanup: Fixup capitalisation of Caffe_POSTFIX.
Darren Garvey [Mon, 10 Aug 2015 01:16:20 +0000 (02:16 +0100)]
Fix memory leak in convert_mnist_siamese_data.
This fixes a memory leak by using delete[] rather than plain delete.
Darren Garvey [Tue, 1 Sep 2015 14:42:26 +0000 (15:42 +0100)]
Cleanup: Fixup capitalisation of Caffe_POSTFIX.
Replaces CAffe_POSTFIX -> Caffe_POSTFIX.
Jeff Donahue [Tue, 1 Sep 2015 20:42:15 +0000 (13:42 -0700)]
Merge pull request #3007 from philkr/neg_lr_mult
Compute backward for negative lr_mult
philkr [Tue, 1 Sep 2015 20:11:26 +0000 (13:11 -0700)]
Compute backward for negative lr_mult
Jeff Donahue [Sun, 30 Aug 2015 20:43:20 +0000 (13:43 -0700)]
Merge pull request #2998 from longjon/data-race
Fix a recently introduced race condition in DataLayer
Ronghang Hu [Sun, 30 Aug 2015 05:40:12 +0000 (22:40 -0700)]
Merge pull request #2894 from mfigurnov/fix-truncation-warning
Fix truncation of value warning
Jonathan L Long [Sat, 29 Aug 2015 04:27:11 +0000 (21:27 -0700)]
fix GPU data race
Previously, the prefetch GPU -> top GPU and prefetch CPU -> prefetch GPU
copies were launched concurrently in separate streams, allowing the next
batch to be copied in before the current one is read.
This patch explicitly synchronizes the prefetch -> top copy wrt the
host, preventing the CPU -> GPU from being launched until its
completion.
Jeff Donahue [Thu, 27 Aug 2015 16:30:00 +0000 (09:30 -0700)]
Merge pull request #2989 from jyegerlehner/embed-layer-compile-warning
Fix EmbedLayer compiler warning for unused variable.
J Yegerlehner [Thu, 27 Aug 2015 15:47:14 +0000 (10:47 -0500)]
Fix EmbedLayer compiler warning for unused variable.
Matt Dawkins [Thu, 27 Aug 2015 14:51:36 +0000 (10:51 -0400)]
Add extra openblas search path
Jon Long [Thu, 27 Aug 2015 01:12:17 +0000 (18:12 -0700)]
Merge pull request #2944 from philkr/python_layer_param
Give the python layer parameter/weight blobs.
Ronghang Hu [Wed, 26 Aug 2015 19:20:32 +0000 (12:20 -0700)]
Merge pull request #2970 from ronghanghu/spp-fix
Fix SPPLayer top blob num and address `pyramid_height_ == 1`
Ronghang Hu [Mon, 24 Aug 2015 21:46:23 +0000 (14:46 -0700)]
Fix previous mistake on unimplemented top and address pyramid_height_==1 in SPPLayer
also, do nothing in SPPLayer Reshape if already reshaped once and bottom size unchanged
Jeff Donahue [Wed, 26 Aug 2015 18:42:38 +0000 (11:42 -0700)]
Merge pull request #2964 from jyegerlehner/mvn-layer-fixes
Fix MVNLayer
Jeff Donahue [Wed, 26 Aug 2015 18:37:49 +0000 (11:37 -0700)]
Merge pull request #2981 from maaskola/draw-deconvolution
Draw Deconvolution layers like Convolution layers
Jonas Maaskola [Sun, 2 Aug 2015 21:47:12 +0000 (23:47 +0200)]
Draw Deconvolution layers like Convolution layers
J Yegerlehner [Sun, 23 Aug 2015 23:57:16 +0000 (18:57 -0500)]
MVNLayer fixes.
Fix the MVNLayer tests so they actually test what they claim.
MVNLayer fixes: sum_multiplier_ sized correctly; backward gradient calculation.
Gradient calculation per analysis of seanbell, found here:
https://github.com/BVLC/caffe/issues/1938
Fixes according to review comments.
Jeff Donahue [Wed, 26 Aug 2015 01:23:18 +0000 (18:23 -0700)]
Merge pull request #2083 from jeffdonahue/tile-layer
TileLayer
Jeff Donahue [Wed, 19 Aug 2015 01:15:20 +0000 (18:15 -0700)]
TileLayer: add CUDA kernels
Jeff Donahue [Wed, 31 Dec 2014 22:07:00 +0000 (14:07 -0800)]
Add TileLayer
Evan Shelhamer [Tue, 25 Aug 2015 23:24:57 +0000 (20:24 -0300)]
Merge pull request #2032 from jeffdonahue/embed-layer
Embed layer for lookup table of one hot encodings
Evan Shelhamer [Tue, 25 Aug 2015 22:05:57 +0000 (19:05 -0300)]
Merge pull request #2927 from jeffdonahue/improve-net-init-error-msgs
improve net config and shape mismatch error messages
Evan Shelhamer [Tue, 25 Aug 2015 22:03:40 +0000 (19:03 -0300)]
Merge pull request #2972 from jeffdonahue/concat-backward-fix
[fix] properly backprop through ConcatLayer with propagate_down set
philkr [Tue, 25 Aug 2015 17:20:53 +0000 (10:20 -0700)]
Python parameter test added
philkr [Wed, 19 Aug 2015 22:11:30 +0000 (15:11 -0700)]
Allow the python layer have weight/parameter blobs.
Jeff Donahue [Tue, 25 Aug 2015 03:46:38 +0000 (20:46 -0700)]
Merge pull request #2963 from longjon/superfluous-toproto
Remove superfluous code in Net::ToProto
Jeff Donahue [Tue, 25 Aug 2015 02:22:54 +0000 (19:22 -0700)]
bugfix for ConcatLayer with propagate_down set
if propagate_down[i] was set, offset_concat_axis was not correctly
updated for subsequent bottoms i+1, i+2, ...
Jeff Donahue [Tue, 25 Aug 2015 02:44:18 +0000 (19:44 -0700)]
TestConcatLayer: add gradient check for bottom[1] only (to verify
propagate_down[0] == false correctness)
Ronghang Hu [Sat, 22 Aug 2015 23:17:12 +0000 (16:17 -0700)]
Merge pull request #2935 from rmanor/accuracies
Output accuracies per class.
Ronghang Hu [Sat, 22 Aug 2015 23:08:39 +0000 (16:08 -0700)]
Merge pull request #2253 from jyegerlehner/snapshot_on_signal
Snapshot on signal
Ran [Sat, 15 Aug 2015 17:09:43 +0000 (20:09 +0300)]
Output accuracies per class.
Fixed case where number of samples in class can be zero.
- Fixed ignore_label case, also added a test.
- Two other fixes.
Fixed lint errors.
Small fix.
J Yegerlehner [Fri, 3 Apr 2015 21:11:23 +0000 (16:11 -0500)]
Add signal handler and early exit/snapshot to Solver.
Add signal handler and early exit/snapshot to Solver.
Add signal handler and early exit/snapshot to Solver.
Also check for exit and snapshot when testing.
Skip running test after early exit.
Fix more lint.
Rebase on master.
Finish rebase on master.
Fixups per review comments.
Redress review comments.
Lint.
Correct error message wording.
Jonathan L Long [Sat, 22 Aug 2015 04:23:22 +0000 (21:23 -0700)]
remove superfluous code in Net::ToProto
Jon Long [Fri, 21 Aug 2015 04:17:45 +0000 (21:17 -0700)]
Merge pull request #2949 from jeffdonahue/deconv-gpu-backward-no-repeat-im2col
DeconvolutionLayer Backward_gpu fix: don't redo im2col
Jon Long [Fri, 21 Aug 2015 04:10:52 +0000 (21:10 -0700)]
Merge pull request #2950 from lukeyeager/use-input_shape
Use input_shape instead of input_dim in examples
Luke Yeager [Thu, 20 Aug 2015 21:29:02 +0000 (14:29 -0700)]
Use input_shape instead of input_dim in examples
Jeff Donahue [Thu, 20 Aug 2015 20:16:14 +0000 (13:16 -0700)]
Merge pull request #2947 from BlGene/bdl_fixup
BasePrefetchingDataLayer fixup.
Jeff Donahue [Thu, 20 Aug 2015 18:54:08 +0000 (11:54 -0700)]
DeconvolutionLayer Backward_gpu fix: don't redo im2col
Jeff Donahue [Thu, 20 Aug 2015 18:04:05 +0000 (11:04 -0700)]
Merge pull request #2930 from lukeyeager/pycaffe-layer_type_list
Expose LayerFactory::LayerTypeList in pycaffe
Luke Yeager [Fri, 14 Aug 2015 23:53:39 +0000 (16:53 -0700)]
Expose LayerFactory::LayerTypeList in pycaffe
Useful for validating NetParameters without crashing on SIGABRT
max argus [Thu, 20 Aug 2015 09:01:58 +0000 (09:01 +0000)]
In BasePrefetchingDataLayer::Forward_cpu hanged top[0]->Reshape to
top[0]->ReshapeLike, in line with other calls.
Jon Long [Mon, 17 Aug 2015 03:47:33 +0000 (20:47 -0700)]
Merge pull request #2812 from philkr/python_loss_weight
Expose blob loss weight to python
Ronghang Hu [Sun, 16 Aug 2015 02:02:57 +0000 (19:02 -0700)]
Malloc at least 1 byte for MultiGPU P2PSync buffers
Ronghang Hu [Sat, 15 Aug 2015 16:42:54 +0000 (09:42 -0700)]
Merge pull request #2931 from ronghanghu/fix-gpu-test
Fix MultiGPU solver test crash
Ronghang Hu [Fri, 14 Aug 2015 20:52:01 +0000 (13:52 -0700)]
Fix MultiGPU solver test with TEST_GPUID != 1
This is a patch for multi-gpu testing issue (#2926). The problem fixed in this
commit is that when calling make runtest with TEST_GPUID != 0 on a MultiGPU
machine, solver tests will crash because gpu ids in multi-gpu tests doesn't
match that of single GPU test.
Jeff Donahue [Fri, 14 Aug 2015 23:42:26 +0000 (16:42 -0700)]
Merge pull request #2928 from cypof/lib_make_target
New make target to only build the library.
Cyprien Noel [Fri, 14 Aug 2015 23:22:34 +0000 (16:22 -0700)]
New make target to only build the library.
Jeff Donahue [Fri, 14 Aug 2015 19:52:39 +0000 (12:52 -0700)]
[net] improve net config and shape mismatch error messages
philkr [Thu, 23 Jul 2015 15:33:58 +0000 (08:33 -0700)]
Exposing blob loss weight to python
Jeff Donahue [Fri, 14 Aug 2015 18:54:06 +0000 (11:54 -0700)]
Merge pull request #2925 from flx42/fix_classification_example
Make classification.bin support models with less than 5 classes
Felix Abecassis [Fri, 14 Aug 2015 18:15:56 +0000 (11:15 -0700)]
Make classification.bin support models with less than 5 classes
The example program would crash if the number of classes was less than
5, since it was still attempting to get the top 5 predictions.
Close #2585
Ronghang Hu [Fri, 14 Aug 2015 17:54:11 +0000 (10:54 -0700)]
Merge pull request #2921 from buaaliyi/multi_gpu
Destroy CUDA stream when finished
Ronghang Hu [Fri, 14 Aug 2015 17:03:58 +0000 (10:03 -0700)]
Merge pull request #2924 from ronghanghu/fix-malloc-empty
Malloc at least one byte in Parallel
Ronghang Hu [Fri, 14 Aug 2015 16:19:48 +0000 (09:19 -0700)]
Malloc at least one byte in Parallel
Ronghang Hu [Fri, 14 Aug 2015 16:14:28 +0000 (09:14 -0700)]
Merge pull request #2920 from PatWie/master
information about new implemented solvers
Ronghang Hu [Fri, 14 Aug 2015 16:12:45 +0000 (09:12 -0700)]
Merge pull request #2918 from ronghanghu/adam
Adam solver
Ronghang Hu [Fri, 14 Aug 2015 05:41:21 +0000 (22:41 -0700)]
Cite Adam paper in solver.hpp
PatWie [Mon, 3 Aug 2015 15:31:14 +0000 (17:31 +0200)]
Adam solver
This commit implements the Adam solver by Kingma et. al for CPU and
GPU. All solver parameters are defined in the caffe.proto. This also
adds an example for the MNIST dataset.
LI Yi [Fri, 14 Aug 2015 12:51:45 +0000 (20:51 +0800)]
Destroy CUDA stream when finished
PatWie [Fri, 14 Aug 2015 11:06:13 +0000 (13:06 +0200)]
information about new implemented solvers
Jeff Donahue [Fri, 14 Aug 2015 04:35:13 +0000 (21:35 -0700)]
Merge pull request #2572 from flx42/optimize_inner_product_special_case
Optimize inner product layer for special case M == 1
Ronghang Hu [Thu, 13 Aug 2015 20:28:11 +0000 (13:28 -0700)]
Merge pull request #2903 from ronghanghu/multi_gpu
Multi-GPU Data Parallelism
Ronghang Hu [Wed, 12 Aug 2015 19:05:56 +0000 (12:05 -0700)]
Apply mutex only to shared layers and fix NVCC warning
Ronghang Hu [Wed, 12 Aug 2015 04:38:06 +0000 (21:38 -0700)]
Data Layers Parallel for Multi-GPU
Allow data layers (and also PythonLayer when used as data layer) to be shared
among worker solver's training net, and also test net for future-proof if one
wants to do Multi-GPU testing. Data layers are locked during forward to ensure
sequential forward.
Jeff Donahue [Tue, 11 Aug 2015 21:02:56 +0000 (14:02 -0700)]
Merge pull request #2909 from jeffdonahue/learnable-param-id-fix
learnable_param_ids_ fix
Jon Long [Tue, 11 Aug 2015 20:58:41 +0000 (13:58 -0700)]
Merge pull request #2891 from fyu/fix-caffenetpy
fix examples/pycaffe/caffenet.py import
Jeff Donahue [Tue, 11 Aug 2015 20:18:41 +0000 (13:18 -0700)]
fix for learnable_param_ids_
Ronghang Hu [Tue, 11 Aug 2015 07:35:00 +0000 (00:35 -0700)]
Merge pull request #2782 from matthiasplappert/adadelta
AdaDelta Solver (v3)
Evan Shelhamer [Tue, 11 Aug 2015 01:54:20 +0000 (18:54 -0700)]
Merge pull request #2873 from gut/master
Fix gist download model and binary scripts
Jeff Donahue [Mon, 10 Aug 2015 21:30:04 +0000 (14:30 -0700)]
Merge pull request #2897 from Russell91/patch-1
Update net_spec.py
Russell Stewart [Mon, 10 Aug 2015 20:50:01 +0000 (13:50 -0700)]
Update net_spec.py
mfigurnov [Mon, 10 Aug 2015 10:59:35 +0000 (13:59 +0300)]
Fix truncation of value warning
Matthias Plappert [Sat, 18 Jul 2015 16:46:51 +0000 (18:46 +0200)]
Clean up and modernize AdaDelta code; add learning rate support; add additional test cases
Kevin Bache [Thu, 19 Mar 2015 22:56:51 +0000 (15:56 -0700)]
Updated AdaDelta for modern Caffe; reduced iterations on multi-iter tests
Mohamed Omran [Sat, 20 Sep 2014 17:01:28 +0000 (19:01 +0200)]
Implement AdaDelta; add test cases; add mnist examples
Evan Shelhamer [Fri, 7 Aug 2015 20:56:49 +0000 (13:56 -0700)]
[docs] add multi-gpu usage note to interfaces
mhouston [Fri, 10 Jul 2015 23:05:48 +0000 (16:05 -0700)]
Detect topology corner cases and improve broadcast order
- Start with distant nodes in broadcast
- Fix outside loop to loop for full tree depth
Cyprien Noel [Tue, 19 May 2015 18:11:05 +0000 (11:11 -0700)]
Multi-GPU
- Parallelize batches among GPUs and tree-reduce the gradients
- The effective batch size scales with the number of devices
- Batch size is multiplied by the number of devices
- Split batches between GPUs, and tree-reduce the gradients
- Detect machine topology (twin-GPU boards, P2P connectivity)
- Track device in syncedmem (thanks @thatguymike)
- Insert a callback in the solver for minimal code change
- Accept list for gpu flag of caffe tool, e.g. '-gpu 0,1' or '-gpu all'.
Run on default GPU if no ID given.
- Add multi-GPU solver test
- Deterministic architecture for reproducible runs
Cyprien Noel [Tue, 19 May 2015 03:07:36 +0000 (20:07 -0700)]
Allocate host memory through cudaMallocHost
thanks to discussion by @thatguymike and @flx42
Cyprien Noel [Tue, 19 May 2015 01:06:09 +0000 (18:06 -0700)]
Add DataReader for parallel training with one DB session
- Make sure each solver accesses a different subset of the data
- Sequential reading of DB for performance
- Prefetch a configurable amount of data to host memory
- Distribute data to solvers in round-robin way for determinism
Cyprien Noel [Tue, 19 May 2015 00:45:20 +0000 (17:45 -0700)]
Persistent prefetch thread
Cyprien Noel [Tue, 28 Apr 2015 21:46:20 +0000 (14:46 -0700)]
Change the way threads are started and stopped
- Interrupt the thread before waiting on join
- Provide a method for looping threads to exit on demand
- CHECK if start and stop succeed instead of returning an error