7854 Commits

Author SHA1 Message Date
ff04fe8b1b merge 2015-12-02 21:41:56 -08:00
1a4ea7c8fc misc updates 2015-12-02 21:01:55 -08:00
b64429bbc6 Merge branch 'dev' of https://github.com/Yangqing/caffe2 into dev
Conflicts:
	caffe2/operators/spatial_batch_norm_op_cudnn.cc
2015-12-02 20:57:36 -08:00
25647f8c47 more test for tf benchmark purposes. 2015-12-02 16:55:51 -08:00
01b45fd052 backward support to cudnn R2 for TensorFlow benchmark references 2015-12-02 15:12:04 -08:00
7d87fe788f alexnet benchmark code using cudnn: this should give a reference speed that TensorFlow should achieve after tuning. With R4 currently we have 29.5ms fwd / 93.4ms bwd. 2015-12-01 17:17:22 -08:00
1499b87e56 cudnn spatial bn: optional compilation instead of throwing error 2015-12-01 14:20:28 -08:00
5ba54180f5 various updates 2015-11-28 13:12:43 -08:00
3dcb868411 misc update 2015-11-27 21:28:03 -08:00
85c2eaa303 Halfway into refactoring the build system 2015-11-27 19:06:32 -08:00
63b010115b minor changes 2015-11-25 10:16:49 -08:00
a71667859f I thought I removed this. Maybe on another machine? 2015-11-25 10:16:37 -08:00
92790cf6b3 Spatial batch norm; currently just based on cudnn. 2015-11-11 14:23:53 -08:00
5c915a0321 Some naming changes. 2015-11-10 23:11:06 -08:00
d577f9b95d Code sugar for simpler gradient definition. 2015-11-10 23:11:05 -08:00
63bd3ce182 sigmoid 2015-11-10 23:11:05 -08:00
d582c395dc tanh 2015-11-10 23:11:05 -08:00
a3dcd9250a bugfix 2015-11-10 23:11:05 -08:00
48d87711ed bugfix on master 2015-11-10 23:10:21 -08:00
a74d606df7 A collection of changes:
(1) Registry now uses std::function for more flexible use cases.
(2) dropout adds an "is_test" keyword.
(3) Making all gradient registered via C++. Python still provides gradient wrapper.

TODO item is to make the autograd SSA in C++ if possible. Problem is if we want to dynamically
register python gradients we will be sort of screwed because in c++ things are registered
via static variables.
2015-11-07 16:12:18 -08:00
71e9932148 half float conversion 2015-10-31 09:50:15 -07:00
b70f46f958 minor fix 2015-10-31 09:50:02 -07:00
625e19acae Float16 for convolution 2015-10-31 09:49:45 -07:00
9e48fd2e8e utility op in-place opt-in 2015-10-30 14:29:57 -07:00
d167ae5399 cudnn race condition fix 2015-10-30 14:29:29 -07:00
5cf83e57f2 cudnn refactor so we can do easier benchmark check. Also some minor bug fix. 2015-10-29 12:40:39 -07:00
141d122db3 minor bugfix 2015-10-29 12:37:09 -07:00
0d18ed31dd minor bugfix 2015-10-29 10:27:32 -07:00
80a70b635f Two main changes:
(1) Loss: do not coerce a gradient output. Although it may be numerically more efficient to do so, it makes the definition of a loss kind of funny if one does not really want to run backward pass.
(2) Autodifferentiation: allow more explicit in-place check, in-place is now opt-in, and implemented a simple SSA/IR gradient generation scheme. Also added some core gradient tests.

Misc bugfixes as well.
2015-10-28 23:15:17 -07:00
98c5b86ef7 A few changes:
(1) cudnn for conv
(2) cublas: after going through the work I feel it's beter to use HOST pointer mode, so changed it.
(3) storage order: despite that googlenet and multibox uses NHWC, it seems better to be still using
    NCHW as default to be consistent with caffe and cudnn; moved to NCHW as default.
2015-10-21 22:37:11 -07:00
d734ddc196 Adding optional Eigen code. Added a switch USE_SYSTEM_EIGEN in Env. Misc changes. 2015-10-18 16:55:24 -07:00
648d1b101a A consolidation of a couple random weekend work.
(1) various bugfixes.
(2) Tensor is now a class independent from its data type. This allows us
    to write easier type-independent operators.
(3) code convention changes a bit: dtype -> T, Tensor<*Context> -> Tensor* alias.
(4) ParallelNet -> DAGNet to be more consistent with what it does.
(5) Caffe's own flags library instead of gflags.
(6) Caffe's own logging library instead of glog, but glog can be chosen with
    compile-time definition -DCAFFE2_USE_GOOGLE_GLOG. As a result, glog macros
    like CHECK, DCHECK now have prefix CAFFE_, and LOG(*) now becomes
    CAFFE_LOG_*.
(7) an optional protobuf inclusion, which can be chosen with USE_SYSTEM_PROTOBUF
    in build_env.py.
2015-10-11 23:14:06 -07:00
5b9584c227 carpet bombing 2015-09-15 21:30:23 -07:00
0b66c01462 (1) blob debugstring
(2) cnn bugfix and enhancement
(3) device checker fix
(4) suppress prints from caffe2_python
(5) moar tests!
2015-09-12 10:37:40 -07:00
d07549bed2 half-finished cnn wrapper, etc. 2015-09-09 20:33:34 -07:00
53868133e1 lmdb: after commit, txn is already deleted so no need to abort 2015-09-06 22:34:22 +00:00
d72cfcebaf fixes to allow more consistent build tests 2015-09-06 22:34:22 +00:00
7517c2898f translator and misc fixes for legacy group convolution, sigh. 2015-09-06 13:34:46 -07:00
821eac3e7c lint 2015-09-06 08:59:12 -07:00
bc70f17a4f no more gflags hack headers. 2015-09-06 08:59:11 -07:00
e505c98996 no more gflags_namespace.h header 2015-09-06 08:59:11 -07:00
d2ff13d332 put a peer access pattern function to caffe2. 2015-09-06 08:59:04 -07:00
f2fde73447 init test bug fix - forgot to commit in the previous one 2015-09-06 08:59:03 -07:00
26591c8ac7 easy selection of gpu ids for cuda context. 2015-09-06 08:59:03 -07:00
baffb9c503 make caffe2_gtest also uses globalinit. Not allowing init to run twice. 2015-09-06 08:59:03 -07:00
ec069cb3ea Use a global init function: it seems that with the multiple components optionally linked in, it is best to just enable a registering mechanism for inits. 2015-09-06 08:59:03 -07:00
2ddea70a08 remove dependency to google profiler 2015-09-03 20:55:55 -07:00
ecd46d5ea0 A memory pool implementation based on cnmem. Added cnmem license to LICENSE. 2015-09-03 20:55:50 -07:00
5325bd5049 rename files so things appear cleaner 2015-09-03 20:55:45 -07:00
4f4aa1f205 clip operator, not tested. 2015-08-28 16:33:10 -07:00