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.
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.
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
Cyprien Noel [Tue, 28 Apr 2015 02:48:10 +0000 (19:48 -0700)]
Thread-local Caffe
Cyprien Noel [Tue, 28 Apr 2015 21:28:04 +0000 (14:28 -0700)]
Add BlockingQueue for inter-thread communication
Fisher Yu [Sun, 9 Aug 2015 21:22:04 +0000 (14:22 -0700)]
from __future__ imports must occur at the beginning of the file
Evan Shelhamer [Sun, 9 Aug 2015 19:35:04 +0000 (12:35 -0700)]
Merge pull request #2887 from shelhamer/solver-test-data
Test solvers on fixed hdf5 data
Ronghang Hu [Sun, 9 Aug 2015 18:03:23 +0000 (11:03 -0700)]
Use net_->learnable_params() instead of net_->params() in RMSprop
In RMSProp solver, use const vector<Blob<Dtype>*>& net_params = this->net_->learnable_params(); instead of const vector<shared_ptr<Blob<Dtype> > >& net_params = this->net_->params();
Ronghang Hu [Sun, 9 Aug 2015 08:45:09 +0000 (01:45 -0700)]
Merge pull request #2888 from ronghanghu/rms-prop-fix-tests
Encapsulate kRMSDecay in solver tests
Ronghang Hu [Sun, 9 Aug 2015 08:32:25 +0000 (01:32 -0700)]
Encapsulate kRMSDecay in solver tests
Instead of introducing another argument kRMSDecay and setting it for every test, this param could be set by the RMSProp test class for encapsulation.
Ronghang Hu [Sun, 9 Aug 2015 07:35:27 +0000 (00:35 -0700)]
Merge pull request #2867 from ronghanghu/rms-prop
RMSProp clean up and rebase
Eren Golge [Sun, 9 Aug 2015 06:45:08 +0000 (23:45 -0700)]
Implement RMSProp Solver
Implement RMSProp solver and cleaned up to adjust to new solver interface that uses
accumulated gradients and refactored regularization.
Evan Shelhamer [Sat, 8 Aug 2015 20:07:13 +0000 (13:07 -0700)]
TestGradientBasedSolver: replace dummy data with hdf5
Rely on fixed hdf5 data for determinism of solver tests.
- draw random Gaussian data and targets for test and save to hdf5
- use the same data for all tests without constant / gaussian condition
previously needed for accumulation
- avoid test artifacts due to order of random draws in dummy data
Evan Shelhamer [Sat, 8 Aug 2015 19:57:45 +0000 (12:57 -0700)]
TestGradientBasedSolver: drop doubled seed inititialization
Jeff Donahue [Thu, 22 Jan 2015 00:12:12 +0000 (16:12 -0800)]
EmbedBackward with no loops -- use caffe_gpu_atomic_add instead
Jeff Donahue [Mon, 16 Feb 2015 00:00:04 +0000 (16:00 -0800)]
Add EmbedLayer for inner products with sparse input (one-hot vectors),
with unit tests
Jeff Donahue [Wed, 21 Jan 2015 22:23:34 +0000 (14:23 -0800)]
test_gradient_check_util: check_bottom < -1 only checks params
Jeff Donahue [Thu, 22 Jan 2015 06:21:13 +0000 (22:21 -0800)]
Add gpu_util.cuh, with caffe_gpu_atomic_add
(double impl from NVIDIA dev docs; float impl included in CUDA as
"atomicAdd")
Evan Shelhamer [Sat, 8 Aug 2015 04:06:29 +0000 (21:06 -0700)]
Merge pull request #2813 from longjon/net-spec-imp
Python net spec cleanups and top-less layers
Jeff Donahue [Sat, 8 Aug 2015 03:44:43 +0000 (20:44 -0700)]
Merge pull request #2886 from jeffdonahue/master
temporarily switch the snapshot_format default back to BINARYPROTO
Jeff Donahue [Sat, 8 Aug 2015 03:03:04 +0000 (20:03 -0700)]
temporarily switch the snapshot_format default back to BINARYPROTO
out of anticipation for user issues due to issue #2885, which causes
Caffe to crash when it attempts to snapshot nets with duplicate layer
names
Jon Long [Fri, 7 Aug 2015 23:28:23 +0000 (16:28 -0700)]
Merge pull request #2877 from jeffdonahue/pycaffe-shape-accessor
[pycaffe] add Blob shape accessor
Jeff Donahue [Fri, 7 Aug 2015 23:05:00 +0000 (16:05 -0700)]
Merge pull request #2866 from jeffdonahue/fix-weight-sharing
Fix weight sharing