summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)AuthorFilesLines
2015-09-30Merge pull request #3069 from timmeinhardt/argmaxEvan Shelhamer1-3/+11
Add argmax_param "axis" to maximise output along the specified axis
2015-09-26Merge pull request #3073 from ronghanghu/consistent-malloc-freeRonghang Hu1-5/+10
Ensure consistency between memory alloc and free
2015-09-25Add flag on how host memory is allocatedRonghang Hu1-5/+10
Add a bool flag to record whether a host memory is allocated using malloc or cudaMallocHost, and free correspondingly using this flag, instead of depending on Caffe::mode(), which is mutable during runtime.
2015-09-25Merge pull request #3032 from ronghanghu/ban-pythonlayer-in-parallelEvan Shelhamer1-0/+6
Disallow PythonLayer in Multi-GPU training
2015-09-25Update ArgMaxLayer documentation for axis paramTim Meinhardt1-3/+9
2015-09-25Add argmax_param axisTim Meinhardt1-0/+2
2015-09-20fix broken conv/deconv reshaping caused by reading bottom shape inJonathan L Long1-2/+5
LayerSetUp This also eliminates the extra copying of bottom's shape.
2015-09-18Merge pull request #3083 from yanchen036/masterJon Long1-7/+7
refine format of switch case statement in solver
2015-09-18Im2col and Convolution layers support N spatial axesJeff Donahue2-21/+111
2015-09-18Blob: add SyncedMemory shape accessor for GPU shape accessJeff Donahue1-0/+2
2015-09-18refine format of switch case in solverYan Chen1-7/+7
2015-09-17Separate IO dependenciesTea5-2/+12
OpenCV, LMDB, LevelDB and Snappy are made optional via switches (USE_OPENCV, USE_LMDB, USE_LEVELDB) available for Make and CMake builds. Since Snappy is a LevelDB dependency, its use is determined by USE_LEVELDB. HDF5 is left bundled because it is used for serializing weights and solverstates.
2015-09-14Check that the snapshot directory is writeable before starting trainingSean Bell1-0/+2
2015-09-04disallow PythonLayer in Multi-GPU trainingRonghang Hu1-0/+6
2015-09-03ConcatLayer: allow trivial operation with single bottom BlobJeff Donahue1-1/+1
2015-09-03SliceLayer: allow trivial operation with single top BlobJeff Donahue1-1/+1
2015-09-02Fix up documentation errors.Darren Garvey2-2/+1
Fix some doxygen warnings about an undocumented argument in Blob and incorrect documentation for SoftmaxWithLossLayer::Forward_cpu().
2015-08-26Merge pull request #2970 from ronghanghu/spp-fixRonghang Hu1-7/+3
Fix SPPLayer top blob num and address `pyramid_height_ == 1`
2015-08-26Fix previous mistake on unimplemented top and address pyramid_height_==1 in ↵Ronghang Hu1-7/+3
SPPLayer also, do nothing in SPPLayer Reshape if already reshaped once and bottom size unchanged
2015-08-25Add TileLayerJeff Donahue1-0/+29
2015-08-25Merge pull request #2032 from jeffdonahue/embed-layerEvan Shelhamer3-3/+81
Embed layer for lookup table of one hot encodings
2015-08-22Merge pull request #2935 from rmanor/accuraciesRonghang Hu1-1/+7
Output accuracies per class.
2015-08-22Merge pull request #2253 from jyegerlehner/snapshot_on_signalRonghang Hu2-1/+60
Snapshot on signal
2015-08-23Output accuracies per class.Ran1-1/+7
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.
2015-08-22Add signal handler and early exit/snapshot to Solver.J Yegerlehner2-1/+60
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.
2015-08-20Expose LayerFactory::LayerTypeList in pycaffeLuke Yeager1-10/+21
Useful for validating NetParameters without crashing on SIGABRT
2015-08-14Cite Adam paper in solver.hppRonghang Hu1-0/+8
2015-08-14Adam solverPatWie1-0/+17
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.
2015-08-13Merge pull request #2903 from ronghanghu/multi_gpuRonghang Hu13-51/+442
Multi-GPU Data Parallelism
2015-08-12Apply mutex only to shared layers and fix NVCC warningRonghang Hu1-5/+38
2015-08-12Data Layers Parallel for Multi-GPURonghang Hu5-8/+44
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.
2015-08-10Clean up and modernize AdaDelta code; add learning rate support; add ↵Matthias Plappert1-11/+5
additional test cases
2015-08-10Updated AdaDelta for modern Caffe; reduced iterations on multi-iter testsKevin Bache1-3/+3
2015-08-10Implement AdaDelta; add test cases; add mnist examplesMohamed Omran1-0/+23
2015-08-09Multi-GPUCyprien Noel7-4/+174
- 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
2015-08-09Allocate host memory through cudaMallocHostCyprien Noel1-14/+17
thanks to discussion by @thatguymike and @flx42
2015-08-09Add DataReader for parallel training with one DB sessionCyprien Noel2-5/+85
- 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
2015-08-09Persistent prefetch threadCyprien Noel2-11/+24
2015-08-09Change the way threads are started and stoppedCyprien Noel1-3/+5
- 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
2015-08-09Thread-local CaffeCyprien Noel2-9/+16
2015-08-09Add BlockingQueue for inter-thread communicationCyprien Noel1-0/+47
2015-08-08Implement RMSProp SolverEren Golge1-0/+25
Implement RMSProp solver and cleaned up to adjust to new solver interface that uses accumulated gradients and refactored regularization.
2015-08-07Add EmbedLayer for inner products with sparse input (one-hot vectors),Jeff Donahue1-0/+38
with unit tests
2015-08-07test_gradient_check_util: check_bottom < -1 only checks paramsJeff Donahue1-3/+8
2015-08-07Add gpu_util.cuh, with caffe_gpu_atomic_addJeff Donahue1-0/+35
(double impl from NVIDIA dev docs; float impl included in CUDA as "atomicAdd")
2015-08-07Net: add learnable_params_ used by solvers to correctly handle shared paramsJeff Donahue1-6/+35
-Params now share diffs as well as data (works due to layers accumulating gradients into param diffs, rather than overwriting) -It's now required that any shared params with specified lr_mult's, decay_mult's match -TestGradientBasedSolver checks that behavior remains correct with shared weights
2015-08-07Snapshot model weights/solver state to HDF5 files.Eric Tzeng5-26/+58
Summary of changes: - HDF5 helper functions were moved into a separate file util/hdf5.cpp - hdf5_save_nd_dataset now saves n-d blobs, can save diffs instead of data - Minor fix for memory leak in HDF5 functions (delete instead of delete[]) - Extra methods have been added to both Net/Solver enabling snapshotting and restoring from HDF5 files - snapshot_format was added to SolverParameters, with possible values HDF5 or BINARYPROTO (default HDF5) - kMaxBlobAxes was reduced to 32 to match the limitations of HDF5
2015-08-07Merge pull request #2880 from koki0702/typoEvan Shelhamer1-2/+2
[docs] Fix layer typo
2015-08-07Fix typokoki1.saitoh1-2/+2
2015-08-06PythonLayer takes parameters by stringTakuya Narihira1-0/+2