Evan Shelhamer [Tue, 30 Jun 2015 22:35:21 +0000 (15:35 -0700)]
[examples] add Euclidean loss PythonLayer
Evan Shelhamer [Wed, 18 Mar 2015 02:01:02 +0000 (19:01 -0700)]
[examples] sequence and revise notebooks
- combine classification + filter visualization
- order by classification, learning LeNet, brewing logreg, and
fine-tuning to flickr style
- improve flow of content in classification + filter visualization
- include solver needed for learning LeNet
- edit notebook descriptions for site catalogue
Yangqing Jia [Tue, 17 Mar 2015 17:50:42 +0000 (10:50 -0700)]
[examples] flickr fine-tuning notebook
Jonathan L Long [Thu, 12 Mar 2015 08:03:51 +0000 (01:03 -0700)]
[examples] draft Python solving example
Evan Shelhamer [Tue, 30 Jun 2015 20:33:54 +0000 (13:33 -0700)]
Merge pull request #2086 from longjon/python-net-spec
Python net specification
Jonathan L Long [Thu, 18 Jun 2015 20:25:08 +0000 (13:25 -0700)]
[pytest] minimal testing of net specification
Jonathan L Long [Tue, 10 Mar 2015 00:43:53 +0000 (17:43 -0700)]
[examples] caffenet python spec
Jonathan L Long [Thu, 15 Jan 2015 09:27:42 +0000 (01:27 -0800)]
[pycaffe] basic net specification
Evan Shelhamer [Tue, 23 Jun 2015 21:48:24 +0000 (14:48 -0700)]
Merge pull request #2611 from dpaiton/test_net_bugfix
[compatibility] fix syntax for old protobuf
Evan Shelhamer [Tue, 23 Jun 2015 16:59:22 +0000 (09:59 -0700)]
copyright 2015
Evan Shelhamer [Tue, 23 Jun 2015 16:54:26 +0000 (09:54 -0700)]
Merge pull request #2579 from lukeyeager/draw-fix
small platform-specific bugfix for draw.py
Sergio Guadarrama [Mon, 22 Jun 2015 15:36:33 +0000 (08:36 -0700)]
Merge pull request #2636 from berleon/master
fixed _force_color check, fixes #2635
berleon [Mon, 22 Jun 2015 12:41:59 +0000 (14:41 +0200)]
fixed _force_color check, fixes #2635
Evan Shelhamer [Fri, 19 Jun 2015 22:39:59 +0000 (15:39 -0700)]
Merge pull request #2609 from lukeyeager/doc-fixes
[docs] fix "the life of a branch" formatting
Dylan Paiton [Wed, 17 Jun 2015 00:57:07 +0000 (17:57 -0700)]
fixed two bugs with prototext format
The first bug was in InitUnsharedWeightsNet. Proto var was of type
ostringstream, which converted the bool bias_term into an int. I
wrote an inline conditional to convert the term into a string.
This allows backwards compatibility with earlier prototext
versions (e.g. version 2.3.0 on Redhat was failing without this).
The second bug was in the syntax for repeated bool parameters,
assigned to the propagate_down parameter. The style used for e.g.
propagate_down: [true,true] does not work with earlier prototext
versions (failed with version 2.3.0 on Redhat). New syntax works
for all versions.
Luke Yeager [Tue, 16 Jun 2015 16:12:32 +0000 (09:12 -0700)]
Fix HTML display for docs
Doesn't change display in Markdown
Jeff Donahue [Tue, 16 Jun 2015 00:21:34 +0000 (17:21 -0700)]
Merge pull request #2605 from ajschumacher/patch-2
typo: "a fixed steps" to "at fixed steps"
Aaron Schumacher [Mon, 15 Jun 2015 23:53:05 +0000 (19:53 -0400)]
typo: "a fixed steps" to "at fixed steps"
fixing in the correct place as per @shelhamer's advice from #2602
Sergio Guadarrama [Mon, 15 Jun 2015 20:59:02 +0000 (13:59 -0700)]
Merge pull request #2278 from sguada/db_split
Db split
Evan Shelhamer [Wed, 10 Jun 2015 21:43:30 +0000 (17:43 -0400)]
[docs] drop out-of-date reference to dev branch
Luke Yeager [Tue, 9 Jun 2015 17:45:16 +0000 (10:45 -0700)]
Small platform-specific bugfix for draw.py
Close #2376
On Gentoo and CentOS (and others?), you get this error:
Warning: /tmp/tmpjqPQBC:6: string ran past end of line
Sergio Guadarrama [Tue, 31 Mar 2015 00:29:50 +0000 (17:29 -0700)]
Split db.hpp into leveldb_db.hpp and lmdb_db.hpp
Evan Shelhamer [Thu, 4 Jun 2015 19:14:43 +0000 (12:14 -0700)]
Merge pull request #2551 from ShaggO/loglayer
LogLayer gpu functionality moved to .cu file
Malte Stær Nissen [Thu, 4 Jun 2015 09:13:45 +0000 (11:13 +0200)]
LogLayer gpu functionality moved to .cu file
Evan Shelhamer [Wed, 3 Jun 2015 17:46:53 +0000 (10:46 -0700)]
[bug] fix double instantiation of GPU methods in LogLayer
Jeff Donahue [Wed, 3 Jun 2015 04:24:02 +0000 (21:24 -0700)]
Merge pull request #2089 from jeffdonahue/reduction-layer
ReductionLayer
Jeff Donahue [Mon, 3 Nov 2014 01:21:37 +0000 (17:21 -0800)]
Add ReductionLayer to reduce any number of "tail" axes to a scalar value
Currently implements operations SUM, MEAN, ASUM (sum of absolute
values), and SUMSQ (sum of squares)
Jeff Donahue [Wed, 3 Jun 2015 03:01:48 +0000 (20:01 -0700)]
Merge pull request #2082 from jeffdonahue/flatten-layer-axis
FlattenLayer gets a FlattenParameter with an axis, end_axis
Jeff Donahue [Thu, 1 Jan 2015 02:02:12 +0000 (18:02 -0800)]
FlattenLayer gets a FlattenParameter with an axis, end_axis
Jeff Donahue [Wed, 3 Jun 2015 02:17:21 +0000 (19:17 -0700)]
Merge pull request #2090 from jeffdonahue/log-layer
LogLayer
Jeff Donahue [Fri, 2 Jan 2015 07:07:44 +0000 (23:07 -0800)]
Add LogLayer
Jeff Donahue [Wed, 3 Jun 2015 01:32:01 +0000 (18:32 -0700)]
Merge pull request #2054 from mtamburrano/filter_layer_rebased
Jeff Donahue [Wed, 3 Jun 2015 01:21:15 +0000 (18:21 -0700)]
FilterLayer cleanup and bugfix for GPU backward
-caffe_set -> caffe_gpu_set (backward was segfaulting before)
-remove uses of 'offset' (to support >4D blobs)
-change var++ -> ++var (per Google style guide)
-cleanup comments/whitespace
manuele [Fri, 29 May 2015 13:54:38 +0000 (15:54 +0200)]
Filter Layer implemented
Jeff Donahue [Tue, 2 Jun 2015 22:23:31 +0000 (15:23 -0700)]
Merge pull request #2532 from shelhamer/accum-prelu
PReLU accumulates grad
Jeff Donahue [Tue, 2 Jun 2015 22:23:00 +0000 (15:23 -0700)]
Merge pull request #2536 from kibum14/master
Remove unnecessary filler parameter in the sample model
Kibum Bae [Tue, 2 Jun 2015 13:20:27 +0000 (22:20 +0900)]
Remove unnecessary filler parameter in the sample model
In bvlc_googlenet model, unnecessary filler parameters, 'std', were used
for Xavier weight fillers.
Takuya Narihira [Fri, 27 Feb 2015 02:59:27 +0000 (18:59 -0800)]
PReLU accumulates grad
Evan Shelhamer [Mon, 1 Jun 2015 02:33:44 +0000 (19:33 -0700)]
Merge pull request #2245 from dwt/add_homebrew_comments_to_makefile_config_example
[build] add commented out helpers for homebrew users
Evan Shelhamer [Mon, 1 Jun 2015 02:19:44 +0000 (19:19 -0700)]
Merge pull request #2064 from drohit92/patch-1
[docs] fix solverstate filename in ImageNet example
Evan Shelhamer [Mon, 1 Jun 2015 02:17:53 +0000 (19:17 -0700)]
Merge pull request #2163 from jeffdonahue/slice-concat-kernels
CUDA kernels for {Slice,Concat}Layer
Evan Shelhamer [Mon, 1 Jun 2015 02:16:29 +0000 (19:16 -0700)]
Merge pull request #2107 from 5kg/fix_mac_doc
[docs] fix OS X homebrew commands
Evan Shelhamer [Mon, 1 Jun 2015 02:11:52 +0000 (19:11 -0700)]
Merge pull request #2400 from cnDelbert/master
Correct the REPO_DIRNAME in `examples/web_demo/app.py`
Evan Shelhamer [Sat, 30 May 2015 07:26:27 +0000 (00:26 -0700)]
Merge pull request #2350 from drdan14/log-parser-python-improved
Python log parser improvements
Evan Shelhamer [Sat, 30 May 2015 07:25:07 +0000 (00:25 -0700)]
Merge pull request #2522 from MartinThoma/moose
[pycaffe] groom caffe.draw and draw_net.py
Evan Shelhamer [Sat, 30 May 2015 07:22:35 +0000 (00:22 -0700)]
Merge pull request #2498 from flx42/cpp_classification_example
Add a simple C++ classification example
Evan Shelhamer [Sat, 30 May 2015 06:58:59 +0000 (23:58 -0700)]
Merge pull request #2528 from shelhamer/travis-lmdb-git
Fix lmdb install for travis
Evan Shelhamer [Sat, 30 May 2015 06:52:15 +0000 (23:52 -0700)]
Merge pull request #2527 from ronghanghu/matcaffe-update-mean-format
switch ilsvrc_2012_mean.mat to W x H x C, update demo and add comments
Evan Shelhamer [Sat, 30 May 2015 06:33:26 +0000 (23:33 -0700)]
[travis] install lmdb through git mirror
switch to github mirror of latest tag as tarball to fix stale url.
Ronghang Hu [Sat, 30 May 2015 01:37:32 +0000 (09:37 +0800)]
Update ilsvrc_2012_mean.mat to W x H x C, update demo and add comments
Update previously ilsvrc_2012_mean.mat stores 'image_mean' variable in
H x W x C with BGR channels, which is inconsistent with Caffe's data format
and inconsistent with caffe.io.read_mean(..). Replace 'image_mean' with
'mean_data' variable in W x H x C and update classification_demo.m. Also add
some comments.
Evan Shelhamer [Sat, 30 May 2015 06:11:35 +0000 (23:11 -0700)]
Merge pull request #2511 from flx42/fix_illegal_mode_changes
Fix invalid mode changes during tests
Evan Shelhamer [Sat, 30 May 2015 05:50:16 +0000 (22:50 -0700)]
Merge pull request #1977 from shelhamer/accum-grad
Decouple the computational batch size and minibatch size by accumulating gradients
Felix Abecassis [Sat, 30 May 2015 05:32:25 +0000 (22:32 -0700)]
Add a simple C++ classification example
Closes #2487
Example usage:
./build/examples/cpp_classification/classification.bin \
models/bvlc_reference_caffenet/deploy.prototxt \
models/bvlc_reference_caffenet/bvlc_reference_caffenet.caffemodel \
data/ilsvrc12/imagenet_mean.binaryproto \
data/ilsvrc12/synset_words.txt \
examples/images/cat.jpg
Jeff Donahue [Sat, 30 May 2015 04:35:30 +0000 (21:35 -0700)]
Merge pull request #2410 from sguada/datum_transform
Datum transform
Evan Shelhamer [Sat, 30 May 2015 04:23:22 +0000 (21:23 -0700)]
Merge pull request #2294 from TorosFanny/master
[example] fix path for diff in net surgery
TorosFanny [Sat, 30 May 2015 04:19:56 +0000 (21:19 -0700)]
[example] fix path for diff in net surgery
Evan Shelhamer [Sat, 30 May 2015 01:23:42 +0000 (18:23 -0700)]
Merge pull request #2240 from nsubtil/cmake-build-dependencies
Wrangle (some) Caffe dependencies through CMake
Evan Shelhamer [Sat, 30 May 2015 01:10:18 +0000 (18:10 -0700)]
Merge pull request #2468 from Nerei/feature/minor_fix_in_cmake_config_generation
[build] minor Cmake fix to clear python / numpy in CaffeConfig.cmake generation
Evan Shelhamer [Sat, 30 May 2015 01:08:27 +0000 (18:08 -0700)]
Merge pull request #2493 from longjon/sketchy-cuda-kernel-loop
Fix dangerous state in pooling and LRN CUDA kernels -- thanks @gustavla for the report in #2145
Evan Shelhamer [Sat, 30 May 2015 00:56:09 +0000 (17:56 -0700)]
Merge pull request #2514 from norouzi/master
[bug] fix extract_features: zero pad keys + fix multi-feature dbtype bug
Evan Shelhamer [Fri, 29 May 2015 08:35:35 +0000 (01:35 -0700)]
Merge pull request #2505 from ronghanghu/matcaffe3
MatCaffe: overhaul and improve the MATLAB interface
Ronghang Hu [Thu, 28 May 2015 23:50:23 +0000 (07:50 +0800)]
More tests for Blob, Layer, copy_from and step, fix some typos
More testes are added into test_net.m and test_solver.m
Ronghang Hu [Thu, 28 May 2015 16:23:06 +0000 (00:23 +0800)]
Fix automatic header file dependency for MatCaffe
Automatic header file dependency was introduced in #1472, but
not correctly applied to matcaffe. Fix it by moving ./caffe_.d
to build/matlab/+caffe/private/caffe_.d and add it to DEPS
Ronghang Hu [Thu, 28 May 2015 10:33:54 +0000 (18:33 +0800)]
Move demo to demo/ and check weights file existence
Move all Matlab demo to caffe/matlab/demo. Since we want the user to add
caffe/matlab to Matlab search PATH, we don't want to mess it up with too
many files
Check if CaffeNet is already downloaded in classification demo.
Ronghang Hu [Thu, 28 May 2015 08:24:30 +0000 (16:24 +0800)]
Clean up old matcaffe wrapper and rename caffe.reset to caffe.reset_all
Remove old matlab wrapper but keep the classification demo and hdf5 demo
Change 'caffe.reset()' to 'caffe.reset_all()' to avoid potential name conflict.
Otherwise, Matlab R2015a complains:
Warning: Function reset has the same name as a MATLAB builtin. We suggest you rename the
function to avoid a potential name conflict.
Ronghang Hu [Thu, 28 May 2015 06:52:47 +0000 (14:52 +0800)]
Add MatCaffe docs to docs/tutorial/interfaces.md
Ronghang Hu [Thu, 28 May 2015 05:40:26 +0000 (13:40 +0800)]
Aesthetic changes on code style and some minor fix
Ronghang Hu [Wed, 27 May 2015 04:37:20 +0000 (12:37 +0800)]
Fix matlab tailing dimension 1 issue for shape match
Matlab cannot have tailing dimension 1 for ndim > 2, so you
cannot create 20 x 10 x 1 x 1 array in matlab as it becomes 20 x 10.
Extend matlab arrays to have tailing dimension 1 during shape match.
Ronghang Hu [Thu, 21 May 2015 17:45:14 +0000 (01:45 +0800)]
MatCaffe3 : a powerful matlab interface for caffe
Added matcaffe3, a powerful matlab interface. To test it, run 'make mattest'
Evan Shelhamer [Thu, 28 May 2015 19:43:29 +0000 (12:43 -0700)]
directly normalize accumulated gradients
`SGDSolver::Normalize()` normalizes accumulated gradients by scaling
inversely to the accumulation as `1 / iter_size`.
This fixes accumulation for AdaGrad and is more obvious than fooling
with rates and decays in 55585f5.
Evan Shelhamer [Fri, 22 May 2015 01:14:16 +0000 (18:14 -0700)]
test equivalence of solving with accumulating gradients
Compare the parameters after solving with a given batch size and the
halved batch size + two iter accumulation of gradients equivalent.
Note: the test net dummy data layer now makes constant data and random
gaussian targets. This assures the standard and gradient accumulation
cases check the same data. Otherwise the difference in batch sizes
causes different orders of random number draws.
Martin Thoma [Wed, 27 May 2015 21:20:16 +0000 (23:20 +0200)]
python/draw_net.py and python/caffe/draw.py: Simplified code; added more docstrings; adjusted code according to PEP8
Evan Shelhamer [Fri, 22 May 2015 00:06:42 +0000 (17:06 -0700)]
adjust local learning rate and decay according to gradient accumulation
Divide local rate by `iter_size` to normalize the gradient according to
the full minibatch size and not only the computational batch size.
Multiply the local decay by `iter_size` to counter the division of the
local learning rate since the decay is multiplied by the rate in the
update equation.
Jonathan L Long [Sun, 14 Sep 2014 00:41:59 +0000 (17:41 -0700)]
accumulate gradients in cudnn conv layer
Jonathan L Long [Wed, 31 Dec 2014 06:29:35 +0000 (22:29 -0800)]
accumulate gradients in (de)conv layers
Sergio [Sat, 27 Sep 2014 06:03:26 +0000 (23:03 -0700)]
accumulate gradients in inner product layer
Jonathan L Long [Wed, 31 Dec 2014 06:52:07 +0000 (22:52 -0800)]
zero-init param diffs in gradient checker
Jonathan L Long [Tue, 12 Aug 2014 04:38:59 +0000 (21:38 -0700)]
zero-init param diffs and accumulate gradients
(With layers whose backward accumulates gradients), this effectively
decouples the computational batch from the SGD minibatch. Each
iteration accumulates gradients over iter_size batches, then parameters
are updated.
Jeff Donahue [Wed, 27 May 2015 20:42:47 +0000 (13:42 -0700)]
Merge pull request #2518 from shelhamer/dedup_solvers
Deduplicate solver regularization, logging, and local rates and decays
Evan Shelhamer [Wed, 27 May 2015 19:24:06 +0000 (12:24 -0700)]
Solver::MakeUpdate() -> Solver::ApplyUpdate
Designate `Solver::ApplyUpdate()` as the core method to compute
and apply parameter updates given the current state of the Net.
Make `Solver::ComputeUpdateValue()` a subordinate call overloaded by the
`SGDSolver`s to take care of optimization algorithm details.
Mohammad Norouzi [Wed, 27 May 2015 14:33:19 +0000 (10:33 -0400)]
fix the bug with db_type when the number of features to be extracted is larger than 1
Evan Shelhamer [Thu, 21 May 2015 23:34:43 +0000 (16:34 -0700)]
deduplicate decay and local rate in solver updates
Cyprien Noel [Tue, 19 May 2015 01:30:00 +0000 (18:30 -0700)]
Refactor solvers regularization and logging code
Mohammad Norouzi [Tue, 26 May 2015 21:25:56 +0000 (17:25 -0400)]
add leading zeros to keys in feature DB files
Felix Abecassis [Tue, 26 May 2015 18:21:58 +0000 (11:21 -0700)]
Make class MultinomialLogisticLossLayerTest derive from CPUDeviceTest
Felix Abecassis [Tue, 26 May 2015 18:21:56 +0000 (11:21 -0700)]
Make class CuDNNSoftmaxLayerTest derive from GPUDeviceTest
Felix Abecassis [Tue, 26 May 2015 18:21:53 +0000 (11:21 -0700)]
Make class DummyDataLayerTest derive from CPUDeviceTest
Felix Abecassis [Tue, 26 May 2015 18:21:50 +0000 (11:21 -0700)]
Make class CuDNNPoolingLayerTest derive from GPUDeviceTest
Felix Abecassis [Tue, 26 May 2015 18:21:48 +0000 (11:21 -0700)]
Make class CuDNNConvolutionLayerTest derive from GPUDeviceTest
Felix Abecassis [Tue, 26 May 2015 18:21:46 +0000 (11:21 -0700)]
Make class ArgMaxLayerTest derive from CPUDeviceTest
Felix Abecassis [Tue, 26 May 2015 18:21:44 +0000 (11:21 -0700)]
Make class CuDNNNeuronLayerTest derive from GPUDeviceTest
Felix Abecassis [Tue, 26 May 2015 18:21:41 +0000 (11:21 -0700)]
Make class AccuracyLayerTest derive from CPUDeviceTest
Felix Abecassis [Tue, 26 May 2015 18:21:39 +0000 (11:21 -0700)]
Make class Im2colKernelTest derive from GPUDeviceTest
Felix Abecassis [Tue, 26 May 2015 18:21:36 +0000 (11:21 -0700)]
Add classes GPUDeviceTest and CPUDeviceTest.
These new classes can be used to implement test cases that are only
running on the GPU or the CPU. The goal is to move all calls to
Caffe::set_mode() inside the test framework, to discourage any test to
change the mode halfway through the execution, which is documented to
be illegal.
Felix Abecassis [Tue, 26 May 2015 18:21:32 +0000 (11:21 -0700)]
Split class StochasticPoolingLayerTest into CPUStochasticPoolingLayerTest and GPUStochasticPoolingLayerTest
Evan Shelhamer [Tue, 26 May 2015 20:13:01 +0000 (13:13 -0700)]
Merge pull request #1946 from nickcarlevaris/msra_init
Add MSRAFiller, an Xavier-like filler designed for use with ReLUs
Evan Shelhamer [Tue, 26 May 2015 19:39:14 +0000 (12:39 -0700)]
include comment on Saxe and sqrt(2) scaling factor
although different and independent, the derivation of Saxe et
al. with regards to the scaling factor might be of interest.
Nick Carlevaris-Bianco [Mon, 16 Feb 2015 05:19:43 +0000 (15:49 +1030)]
Added MSRAFiller, an Xavier-like filler designed for use with ReLUs
...instead of tanh. Based on paper: He et al, "Delving Deep into
Rectifiers: Surpassing Human-Level Performance on ImageNet
Classification," 2015.
- add VarianceNorm option to FillerParameters which allows one to
normalize by fan_in, fan_out or their average.
- update XavierFiller to use the VarianceNorm option (default behavior
unchanged).
- add tests for MSRAFiller and XavierFiller.
Felix Abecassis [Tue, 26 May 2015 18:21:28 +0000 (11:21 -0700)]
Split class MathFunctionsTest into CPUMathFunctionsTest and GPUMathFunctionsTest
Felix Abecassis [Tue, 26 May 2015 18:21:15 +0000 (11:21 -0700)]
Refactor types FloatCPU and DoubleCPU into a new type CPUDevice<T>
Similarly, FloatGPU and DoubleGPU are replaced by a new type GPUDevice<T>.